2008-10-06 50 views
12

我已經寫了一個HTML應用程序(hta文件),並且想知道是否有將圖標文件嵌入到hta文件本身的方法。我可以將圖標嵌入.hta文件嗎?

我已經看到包含嵌入式圖形文件的html電子郵件,有沒有辦法用html應用程序和圖標做到這一點?

HTA文件有一個HTA:APPLICATION標記,允許您指定一個圖標,但我只想要一個文件進行下載。我不想有外部圖標文件。這可能嗎?

有關hta文件的更多信息:HTA files

回答

20

我發現了一個黑客來設置圖標。

準備一個圖標文件icon.ico和HTA文件source.hta具有以下內容:

<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> 

打開命令提示和類型:

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

即會將圖標和hta連接成單個文件。

在我的測試案例中,Internet Explorer跳過圖標數據並正確顯示HTML。

然後使用javascript將該圖標的路徑設置爲.hta文件本身的路徑,並加載該圖標。

我已經測試了這個在Windows XP SP3,Internet Explorer 8中

5

我記得看到this一個looong時間前工作的HTML文件的方式:

<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"> 

我已經儘管我從來沒有嘗試過。

+1

這是一個dataURL,這將是除了IE一個很好的解決方案不支持他們,直到版本8 – 2008-10-09 00:00:59

+1

您可以將圖像轉換爲dataURL [這裏](HTTP:// dataurl .net /#dataurlmaker) – 2016-05-30 17:42:48

1

IE不支持數據URI,因此如果您使用img標籤,您將不得不使用外部文件。

我能想到的唯一的事情就是使用VML,它自IE5以來一直存在。這是一種類似SVG的矢量圖像格式,可以內聯使用。例如,使用this VML editor繪製一些東西,然後單擊「獲取代碼」。你可以在你的HTA中使用。我沒有意識到任何會將圖像直接轉換爲VML的東西,但我相信有一種方法可以從某些Office產品導出到VML。

+0

HTA中的圖形的好處,但不適用於標記中指定的圖標。 – 2008-10-09 00:01:56

+0

啊,你說得對。哎呦。 – seisyll 2008-10-09 02:57:29

1

這是一個相當遙不可及的答案,但是您可以在HTA中將圖標作爲base64編碼的XML嵌入,然後使用JavaScript onload並將圖標文件保存到臨時位置。 ActiveX對象MSXML.DomDocument可以對base64節點進行編碼和解碼。

+0

這聽起來很有希望。你能告訴我一些示例代碼嗎?我的HTA文件可以從http://www.boltbait.com/htmleditor/下載。謝謝! – BoltBait 2008-10-13 16:28:51

1

只要您需要一個< iframe>或其他HTML對話框,您將需要額外的文件。您一般會發現.CSS和.VBS文件與.HTA分開,使編程和支持對於任何非平凡的HTA都變得更加容易。

將其作爲「單個EXE」的一種替代方法是將所有內容都包裝爲自解壓存檔或通過IExpress。當用戶「運行你的程序」時,它將你檔案中的所有內容提取到一個臨時目錄中,並運行你選擇的項目。

也有第三方的替代品,如HTMLApp

9

考慮在System32中爲您的圖標使用其中一個應用程序。

這不會更改桌面上的HTA文件的圖標,但一旦它運行,它將爲任務欄等添加一些個性。

我經常使用以下內容爲我的HTA添加一些魅力。

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

我不相信這是可能使用的圖標從庫中,但只是開System32下的資源管理器,並更改爲圖標視圖,看看是否有吸引你的花哨可言任何圖標。

3

另一種可能的解決方案,但有問題的精確措辭不完全兼容,會使用到HTA轉換成.EXE文件「HTAedit」應用程序(http://www.htaedit.com/)。

他們提供了一個完整的功能(只是一些啓動嘮叨屏幕,沒有歷史記錄/最近的文件)的試用版,沒有阻止從HTA源創建.EXE,沒有時間限制。

然後,你可以在HTA頭塊中用ICON =「myicon.ico」語句聲明你的圖標,然後當它「編譯」時(根據我的觀點,它更可能是一個打包者而不是真正的編譯器,但這不是點這裏)它要求你額外的資源文件。如果你的圖標文件沒有在那裏列出,那麼只需將它添加到列表中,「etvoilà!」。你會得到一個很好的可執行文件,它的版本號和嵌入圖標。

實際上這就是我對Microsoft腳本專家工具(HTA_HELPOMATIC.HTA和SCRIPTOMATIC.HTA)所做的工作:我只是在EXE中更改了它們,添加了一些來自%windir%\ system32 exe/dll的圖標,我發現它們或多或少匹配這些工具的意義,它的工作完美。

在運行時,它可能比將圖標嵌入到HTA中更具可移植性(HTAedit工具似乎能夠生成W7/64可執行文件,但我沒有這樣測試,我仍然在XP32-SP2下...),它保持你的源文件的hta文件可讀和可編輯的文本編輯器。

4

我知道這不完全是OP所要求的,但是,不要在.hta中嵌入圖標,您是否考慮過指向圖標文件的URL?許多網站有一個網站圖標favicon.ico這HTA應用程序的工作原理:

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

這讓您在圖標無限選擇,而不需要部署一個與您的HTA應用程序。

0

另一個解決方案,但不完全符合問題的確切措辭,是創建一個簡單的快捷方式。對於64位系統,你應該輸入:

目標:C:\ WINDOWS \ Syswow64資料\ mshta.exe C:\路徑+ filename.hta

開始在:C:\ WINDOWS \ SysWOW64中

您可以手動更改快捷方式的圖標。 用戶可以將快捷方式拖動到任務欄。

hta文件的擴展對mshta.exe並不重要。所以如果你給它一個自定義擴展,那麼hta文件將顯示相應的自定義圖標。

0

您可以將base64編碼圖像嵌入到HTA中,並在第一次執行時在本地創建文件。

下面是一個HTA,它從base64字符串中創建一個「favicon.ico」(https://stackoverflow.com/favicon.ico)文件。它也可以對圖像文件進行編碼(代碼適用於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> 

相關問題