2008-10-06 29 views
12

Tôi đã viết một ứng dụng HTML (tập tin hta) và tôi tự hỏi nếu có một cách để nhúng một tập tin biểu tượng vào tập tin hta chính nó.Tôi có thể nhúng biểu tượng vào tệp .hta không?

Tôi đã thấy các email html bao gồm các tệp đồ họa được nhúng, có cách nào để thực hiện điều này với các ứng dụng và biểu tượng html không?

Tệp HTA có thẻ HTA: APPLICATION cho phép bạn chỉ định biểu tượng, nhưng tôi chỉ muốn có một tệp để tải xuống. Tôi không muốn có tệp biểu tượng bên ngoài. Điều này có thể không?

Thông tin thêm về tệp hta tại đây: HTA files.

Trả lời

20

Tôi đã tìm thấy một hack để đặt biểu tượng.

Chuẩn bị một file biểu tượng icon.ico và một file hta source.hta với các nội dung sau:

<HTML> 
<HEAD> 
    <SCRIPT> 
     path = document.URL; 
     document.write(
     '<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" ICON="'+path+'">'); 
    </SCRIPT> 
</HEAD> 
<BODY SCROLL="no"> 
    Hello, World! 
</BODY> 
</HTML> 

Mở một dấu nhắc lệnh và gõ:

copy /b icon.ico+source.hta iconapp.hta 

Đó sẽ ghép nối biểu tượng và hta thành một tệp duy nhất.

Trong trường hợp thử nghiệm, trình khám phá Internet của tôi bỏ qua dữ liệu biểu tượng và hiển thị HTML chính xác.

Đường dẫn của biểu tượng sau đó được đặt thành đường dẫn của tệp .hta bằng javascript và biểu tượng được tải.

Tôi đã thử nghiệm điều này trên Windows XP SP3, Internet explorer 8.

+0

Rất tiếc. Ý tưởng thú vị. Tôi sẽ kiểm tra điều này. Cảm ơn! – BoltBait

+6

Tôi vừa nhận thấy câu trả lời của tôi đã nhận được phiếu bầu thứ hai và tôi muốn nói rõ rằng trong khi đó là một bản hack thú vị, không có gì đảm bảo rằng việc thêm một đốm màu nhị phân vào tệp .hta sẽ hoạt động. Nó có thể phá vỡ trong phiên bản IE tiếp theo, gây trở ngại cho việc phát hiện chế độ quirk hoặc có tất cả các hiệu ứng không mong muốn. Bạn đã được cảnh báo –

+1

Haha thiên tài. Cảm ơn. –

5

Tôi nhớ nhìn thấy this một thời gian looong trước:

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"width="16" height="14" alt="embedded folder icon"> 

Tôi đã không bao giờ thử bản thân mình mặc dù.

+1

Đó là một dataURL, và nó sẽ là một giải pháp tốt, ngoại trừ IE không hỗ trợ chúng cho đến khi phiên bản 8. –

+1

Bạn có thể chuyển đổi một hình ảnh để dataURL [ở đây] (http: // dataurl .net/# dataurlmaker) –

1

IE không hỗ trợ URI dữ liệu, vì vậy bạn sẽ phải sử dụng tệp bên ngoài nếu bạn sử dụng thẻ img.

Điều duy nhất tôi có thể nghĩ là sử dụng VML, đã có từ IE5. Đó là định dạng hình ảnh vector giống SVG có thể được sử dụng nội dòng. Ví dụ: vẽ một cái gì đó bằng cách sử dụng this VML editor và nhấp vào "Lấy mã". Bạn có thể cắt nó trong HTA của bạn. Tôi không biết bất cứ điều gì sẽ chuyển đổi hình ảnh của bạn sang VML trực tiếp, nhưng tôi tin rằng có một cách để xuất sang VML từ một số sản phẩm Office.

+0

Một điểm tốt cho đồ họa trong HTA, nhưng không phải cho biểu tượng được chỉ định trong thẻ . –

+0

Ah, bạn nói đúng. Rất tiếc. – seisyll

1

Đó là một câu trả lời khá xa vời, nhưng bạn có thể nhúng biểu tượng dưới dạng XML được mã hóa base64 trong HTA, sau đó sử dụng JavaScript onload và lưu tệp biểu tượng vào vị trí tạm thời. Đối tượng ActiveX MSXML.DomDocument có thể mã hóa và giải mã các nút base64.

+0

Điều này nghe có vẻ rất hứa hẹn. Bạn có thể chỉ cho tôi một số mã mẫu không? Có thể tải xuống tệp HTA của tôi từ http://www.boltbait.com/htmleditor/ Cảm ơn! – BoltBait

1

Ngay khi bạn cần < iframe> hoặc hộp thoại HTML khác, bạn sẽ muốn có tệp bổ sung. Bạn sẽ thấy rằng các tệp .CSS và .VBS tách biệt khỏi .HTA làm cho việc lập trình và hỗ trợ dễ dàng hơn nhiều đối với bất kỳ HTA không tầm thường nào.

Một giải pháp thay thế để thực hiện điều này là "một EXE đơn lẻ" là bao bọc mọi thứ dưới dạng bản lưu trữ tự giải nén hoặc qua IExpress. Khi người dùng "chạy chương trình của bạn", nó trích xuất mọi thứ từ kho lưu trữ của bạn vào thư mục tạm thời và chạy mục bạn chọn.

Có các lựa chọn thay thế của bên thứ 3 như HTMLApp.

9

Cân nhắc sử dụng một trong các ứng dụng trong System32 cho biểu tượng của bạn.

Điều này sẽ không thay đổi biểu tượng cho tệp HTA trên máy tính để bàn, nhưng khi nó chạy nó sẽ thêm một số tính cách vào thanh tác vụ và như vậy.

Tôi thường sử dụng phần sau để thêm chút say mê cho HTA của mình.

<hta:application icon="magnify.exe" /> 

Tôi không tin rằng nó có thể sử dụng các biểu tượng từ thư viện, nhưng chỉ cần mở System32 trong Explorer và thay đổi nó thành biểu tượng xem và xem nếu có bất kỳ biểu tượng mà bắt ưa thích của bạn ở tất cả.

+0

Đây có vẻ là giải pháp đơn giản nhất. Cảm ơn. Làm việc như một say mê. – BoltBait

3

Một giải pháp khả thi, nhưng không hoàn toàn phù hợp với phân nhịp chính xác của các câu hỏi, sẽ được chuyển đổi HTA vào một tập tin .EXE sử dụng Ứng dụng "HTAedit" (http://www.htaedit.com/).

Chúng cung cấp phiên bản dùng thử hoàn toàn có chức năng (chỉ một số màn hình khởi động và không có tệp lịch sử/gần đây) mà không chặn tạo .EXE từ nguồn HTA, không giới hạn thời gian.

Sau đó, bạn có thể khai báo biểu tượng của mình bằng câu lệnh ICON = "myicon.ico" trong khối tiêu đề HTA, sau đó khi "biên dịch" (theo ý kiến ​​của tôi, đó là một trình đóng gói thực sự hơn trình biên dịch thực) điểm ở đây) nó yêu cầu bạn cho các tập tin tài nguyên bổ sung. Nếu tập tin biểu tượng của bạn chưa được liệt kê ở đó, thì chỉ cần thêm nó vào danh sách "et voilà!". Bạn có thể thực thi tốt với số phiên bản và biểu tượng được nhúng.

Thực ra đó là những gì tôi đã làm với các công cụ Microsoft Scripting Guys (HTA_HELPOMATIC.HTA và SCRIPTOMATIC.HTA): Tôi vừa thay đổi chúng trong EXE thêm một biểu tượng từ một số% windir% \ system32 exe/dll. ý nghĩa của các công cụ và nó hoạt động hoàn hảo. Khi chạy nó có thể di động hơn là chỉ nhúng biểu tượng vào HTA (công cụ HTAedit dường như có thể tạo ra các tập tin thực thi W7/64 nhưng tôi không thử nghiệm theo cách đó, tôi vẫn đang trong XP32-SP2 ...) và nó giữ cho tệp hta nguồn của bạn có thể đọc được và có thể chỉnh sửa được bằng trình soạn thảo văn bản.

4

Tôi biết nó không chính xác những gì OP yêu cầu, nhưng thay vì nhúng một biểu tượng trong .hta, bạn có xem xét URL đến tệp biểu tượng không? Nhiều trang web có một biểu tượng trang web favicon.ico trong đó hoạt động trong các ứng dụng HTA:

<HTML> 
<HEAD> 
    <HTA:APPLICATION 
     ID="oHTA" 
     APPLICATIONNAME="myApp" 
     ICON="http://stackoverflow.com/favicon.ico"> 
</HEAD> 
<BODY SCROLL="no"> 
    Hello, World! 
</BODY> 
</HTML> 

này mang đến cho bạn sự lựa chọn vô hạn trong các biểu tượng mà không cần phải triển khai một ứng dụng với HTA của bạn.

0

Một giải pháp khác, nhưng không hoàn toàn phù hợp với cách phân biệt chính xác của câu hỏi, là tạo lối tắt đơn giản. Đối với hệ thống 64-bit, bạn nên nhập:

mục tiêu: C: \ Windows \ SysWOW64 \ mshta.exe C: \ path + filename.hta

bắt đầu trong: C: \ Windows \ SysWOW64

Bạn có thể thay đổi biểu tượng của phím tắt theo cách thủ công. Người dùng có thể kéo phím tắt vào thanh tác vụ.

Việc kéo dài tệp hta không quan trọng đối với mshta.exe. Vì vậy, nếu bạn cung cấp cho nó một phần mở rộng tùy chỉnh, sau đó các tập tin hta sẽ hiển thị với biểu tượng tùy chỉnh tương ứng.

0

Bạn có thể nhúng hình ảnh được mã hóa base64 vào HTA và tạo tệp cục bộ trong lần thực thi đầu tiên.

Dưới đây là HTA tạo tệp "favicon.ico" (https://stackoverflow.com/favicon.ico) từ chuỗi base64. Nó cũng có thể mã hóa một tệp hình ảnh (với mã được điều chỉnh từ Base64 Encode String in VBScriptVBScript to open a dialog to select a filepath).

<!DOCTYPE html> 
<html> 
<head> 
<HTA:APPLICATION 
    ID="oHta" 
    APPLICATIONNAME="Icon test..." 
    ICON="favicon.ico" 
/> 
<LINK id=shortcutlink REL="SHORTCUT ICON" HREF="favicon.ico"> 
<META http-equiv="x-ua-compatible" content="text/html; charset=utf-8"> 
<TITLE>Icon test</TITLE> 
</head> 

<script language=vbscript> 

Function fBase64Encode(sourceStr) 

    Dim rarr() 

    carr = Array( "A", "B", "C", "D", "E", "F", "G", "H", _ 
        "I", "J", "K", "L", "M", "N", "O" ,"P", _ 
        "Q", "R", "S", "T", "U", "V", "W", "X", _ 
        "Y", "Z", "a", "b", "c", "d", "e", "f", _ 
        "g", "h", "i", "j", "k", "l", "m", "n", _ 
        "o", "p", "q", "r", "s", "t", "u", "v", _ 
        "w", "x", "y", "z", "0", "1", "2", "3", _ 
        "4", "5", "6", "7", "8", "9", "+", "/")  

    n = Len(sourceStr)-1 

    ReDim rarr(n\3) 

    For i=0 To n Step 3 
     a = Asc(Mid(sourceStr,i+1,1)) 
     If i < n Then 
      b = Asc(Mid(sourceStr,i+2,1)) 
     Else 
      b = 0 
     End If 
     If i < n-1 Then 
      c = Asc(Mid(sourceStr,i+3,1)) 
     Else 
      c = 0 
     End If 
     rarr(i\3) = carr(a\4) & carr((a And 3) * 16 + b\16) & carr((b And 15) * 4 + c\64) & carr(c And 63) 
    Next 

    i = UBound(rarr) 
    If n Mod 3 = 0 Then 
     rarr(i) = Left(rarr(i),2) & "==" 
    ElseIf n Mod 3 = 1 Then 
     rarr(i) = Left(rarr(i),3) & "=" 
    End If 

    fBase64Encode = Join(rarr,"") 

End Function 
'------------------------------------------------------------------------------- 

function fBase64Decode(str) 

    fBase64Decode = "" 

    table = fGenerateBase64Table 

    bits = 0 

    for x = 1 to len(str) step 1 
     c = table(1+asc(mid(str,x,1))) 
     if (c <> -1) then 
      if (bits = 0) then 
       outword = c*4 
       bits = 6 
      elseif (bits = 2) then 
       outword = c+outword 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       bits = 0 
      elseif (bits = 4) then 
       outword = outword + int(c/4) 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       outword = c*64 
       bits = 2 
      else 
       outword = outword + int(c/16) 
       strBase64 = strBase64 & chr(clng("&H" & hex(outword mod 256))) 
       outword = c*16 
       bits = 4 
      end if 
     end if 
    next 

    fBase64Decode = strBase64 

end function 
'--------------------------------------------------- 

function fGenerateBase64Table() 

    r64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/" 

    'set up decode table 
    dim table(256) 
    for x = 1 to 256 step 1 
     table(x) = -1 
    next 
    for x = 1 to 64 step 1 
     table(1+asc(mid(r64,x,1))) = x - 1 
    next 

    fGenerateBase64Table = table 

end function 
'--------------------------------------------------- 

function fSelectFile() 

    fSelectFile = "" 
    strMSHTA = "mshta.exe ""about:<input type=file id=FILE>" & _ 
       "<"&"script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" & _ 
       ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);<"&"/script>""" 

    Set wshShell = CreateObject("WScript.Shell") 
    Set objExec = wshShell.Exec(strMSHTA) 
    fSelectFile = objExec.StdOut.ReadLine() 
    Set objExec = Nothing 
    Set wshShell = Nothing 

end function 

'------------------------------------------------------------------------- 

sub getBase64() 

    'this can be BMP, PNG, ICO 
    REM sImgFile = "favicon.ico" 
    sImgFile = fSelectFile() 

    if sImgFile = "" then exit sub 

    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set f = fso.GetFile(sImgFile) 
    filesize = f.size 
    set f = fso.opentextfile(sImgFile,1,0) 'open as ascii 
    strBinFile = f.read(filesize) 
    f.close 
    set fso = nothing 

    strPNGFile = fBase64Encode(strBinFile) 
    s = s & "Base64 encoding of "&sImgFile&"<br><br>" & strPNGFile & "<br><br>" 
    s = s & "<img src=""data:image/bmp;base64," & strPNGFile & """><br><br>" & vbcrlf 

    imgbase64.innerhtml = s 

end sub 
'------------------------------------------------------------------------- 

sub setup() 

    'https://stackoverflow.com/favicon.ico in base64 
    base64Icon="AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAKmjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpo57/AAAAAAAAAAAAAAAAAAAAAAAAAACpo57/AAAAAAlw8v8JcPL/CXDy/wlw8v8JcPL/CXDy/wlw8v8AAAAAqaOe/wAAAAAAAAAAAAAAAAAAAAAAAAAAqaOe/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8hMJcPI2AAAAAKmjnv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyLwlw8l0JcPKJCXDytglw8uIJcPLvCXDyvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8sIJcPKlCXDydwlw8kkJcPIdCXDyEwlw8nEJcPIvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPI9CXDypQlw8u8JcPKgCXDyLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyDwlw8nEJcPLWCXDy0wlw8msJcPIPCXDyPQlw8uIJcPInAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8iMJcPKgCXDyOgAAAAAAAAAACXDydwlw8ugJcPJGCXDyUQlw8oIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPITCXDytglw8sIJcPIdCXDyGAlw8ugJcPI2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPI6CXDy4glw8okJcPIDAAAAAAlw8rYJcPJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyZAlw8kkAAAAAAAAAAAlw8msJcPLICXDyAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlw8icJcPLoCXDyIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcPLCCXDyZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXDyHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AADABwAA3/cAANAXAADflwAA8B8AAPAPAAD+DwAA8AcAAPGDAAD+AwAA/CcAAPzHAAD/jwAA/58AAP+/AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAKmjngCpo54AqaOeAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po54A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjnv+po57/qaOe/6mjngD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjnv+po57/JID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AKmjnv+po57/JID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/ySA9AAkgPQAJID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0ACSA9ACpo57/qaOe/ySA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjnv+po57/JID0ACSA9AAkgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0/ySA9P8kgPQAJID0AKmjnv+po57/JID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wCpo54AqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAqaOe/6mjnv8kgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AKmjngCpo57/qaOe/ySA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9B4kgPRRJID0gSSA9LQkgPTjJID0EiSA9ACpo57/qaOe/ySA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8AqaOeAKmjngCpo54AJID0ACSA9AAkgPQAJID0AiSA9CYkgPRXJID0iSSA9LokgPTtJID0/ySA9P8kgPT/JID0/ySA9P8kgPRKJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9LgkgPTxJID0/ySA9P8kgPT/JID0/ySA9P8kgPT/JID0+SSA9M0kgPSaJID0aiSA9CQkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0vSSA9P8kgPT/JID09CSA9MUkgPSUJID0YiSA9DEkgPQFJID0ACSA9DQkgPSjJID05iSA9A0kgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPRKJID0WySA9CkkgPQDJID0ACSA9AAkgPQAJID0BSSA9FgkgPTHJID0/ySA9P8kgPT/JID0eCSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0FSSA9HwkgPTkJID0/ySA9P8kgPT/JID02SSA9GwkgPQ9JID0LCSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0MiSA9J8kgPT4JID0/ySA9P8kgPT+JID0tySA9EkkgPQCJID0YiSA9PckgPTjJID0HCSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0KiSA9MIkgPT/JID0/ySA9P8kgPTyJID0lCSA9CYkgPQAJID0CCSA9J8kgPT/JID0/ySA9OkkgPRGJID0IySA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQPJID07iSA9P8kgPTcJID0cCSA9A8kgPQAJID0ACSA9CQkgPTPJID0/ySA9P8kgPTDJID0HCSA9K4kgPTzJID0ZiSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPRaJID0TCSA9AIkgPQAJID0ACSA9AAkgPRQJID07ySA9P8kgPT+JID0jiSA9AUkgPR+JID0/ySA9P8kgPSOJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQEJID0iCSA9P4kgPT/JID08SSA9FQkgPQAJID0TSSA9P4kgPT/JID0uySA9AMkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0GCSA9MAkgPT/JID0/ySA9NMkgPQmJID0ACSA9CgkgPTwJID0/ySA9N4kgPQUJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9B8kgPTnJID0/ySA9P8kgPSiJID0CiSA9AAkgPQPJID02CSA9P8kgPT1JID0LiSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9JYkgPT4JID0ZySA9AAkgPQAJID0AiSA9LQkgPT/JID0/iSA9FYkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AySA9CokgPQAJID0ACSA9AAkgPSCJID0/ySA9P8kgPSIJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0UySA9P4kgPT/JID0tySA9AMkgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9A8kgPTvJID0/ySA9NskgPQQJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9DQkgPTIJID0LCSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0ACSA9AAkgPQAJID0AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP////////////////wAAD/8AAA//P//P/z//z/8wAM//MADP/z//z/8/4E//+AB///AAf//wBD//8OA///+AH//+AA//+AQH//gYA//8cAP//8CD//+BB///Ag///4wf//+cP///+D////B////4///////////////////////"  

    Set fso = CreateObject("Scripting.FileSystemObject") 
    if not fso.fileexists("favicon.ico") then 
     strBin = fBase64Decode(base64Icon) 
     set outfile = fso.createtextfile("favicon.ico") 
     outfile.write strBin 
     outfile.close 

     document.title = "Need to refresh to see the new icon" 

    end if  
    set fso = nothing 

end sub 

</script> 

<style type="text/css"> 

    body {font-family:"CONSOLAS";font-size:"10pt";} 
    input {font-family:"CONSOLAS";font-size:"8pt";} 

</style> 

<body onLoad=setup()> 

<input type=button value="Encode an image file..." 
data-tooltip title="Choose a PNG, BMP, ICO file to encode in base64" 
onclick=getBase64> 

<br><br> 

<div id=imgbase64 style="word-wrap: break-word;"></div> 

</body> 
</html> 

Các vấn đề liên quan