本文介紹了微軟的專利HTA實作。有關HTML5的快取清單資訊(Cache Manifest),請參考 Cache manifest in HTML5英語Cache manifest in HTML5

HTML應用程式(英語:HTML Application,縮寫:HTA)是一個使用HTML動態HTML構建的Microsoft Windows應用程式,執行在Internet Explorer中,並且支援其他的手稿語言,比如VBSJavaScript。HTML用來建立用戶介面,手稿語言則用來構建程式主體。HTA執行時不受瀏覽器安全模型的限制,實際上,它就像是一個被「完全信任」的應用程式程式。

HTML Application (HTA)
副檔名
.hta
網路媒體型式
application/hta
開發者Microsoft
首次發佈1999年4月23日 (1999-04-23)
網站https://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx

大部分HTA執行檔的副檔名為.hta

HTA的執行器在1999年被引入Microsoft Windows,同時跟隨着Microsoft Internet Explorer 5被發佈出來。[1]2003年12月9日,這一技術被申請了專利。[2]

使用

編輯

HTA給予開發者HTML和進階的手稿語言的共同特性。在Microsoft Windows中使用HTA作為系統管理工具,無論從原型到「全面」的應用都非常受微軟的系統管理者歡迎,特別是在靈活性和開發的速度非常關鍵的環境中。[3]

環境

編輯

執行

編輯
 
一個用 mshta.exe产生的例子

在圖形化介面下雙擊HTA檔案,或是在命令提示字元下鍵入mshta [HTA檔名]皆可以透過mshta.exe執行HTA檔案。mshta.exe會與Internet Explorer同時安裝。mshta.exe通過動態載入Internet Explorer的HTML渲染引擎mshtml.dll來執行HTA檔,同時執行的還有需要的語言引擎(例如 vbscript.dll)。

HTA被視為帶有.exe副檔名的可執行檔案。當該檔案被mshta.exe執行 (或該檔案被雙擊)時,它就會立即執行。當被遠端用瀏覽器執行時,用戶將會被詢問,在HTA被下載之前,用戶可以選擇下載或不下載;如果選擇儲存,它可以簡單的被按需執行。[4]

每個HTA被預設和呈現為「標準模式內容(IE7標準模式)和怪癖模式內容(IE5怪癖模式)」,但呈現方式可以被X-UA-Compatible 標籤更改。[5]

HTA引擎(mshta.exe)依賴於Internet Explorer。從Windows Vista開始,用戶可以從系統中移除Internet Explorer,但它將使引擎停止工作。

HTA被Internet Explorer 5 至 9完美支援。其他版本,例如10 和 11,仍然支援HTA但被某些小功能關閉。

安全注意事項

編輯

當一個常規的HTML檔案被執行時,執行權限被限制在網頁瀏覽器安全模式,也就是說,它被限制在與伺服器通訊的範圍,只操縱頁面的對象模型(常常表現為驗證表單/建立有趣的視覺效果)並且讀/寫Cookie

另一方面,HTA被執行為一個完全信任的應用程式,因此具有比普通的HTML檔案更多的特權;舉一個例子,HTA 可以建立、重新命名、刪除、並且註冊一個實例。儘管HTA在這個「被信任的」環境中執行,查詢Active Directory依然可以看到Internet Explorer域的錯誤資訊。

開發

編輯

要客製化一個HTA的特定外觀,一個可選的標籤hta:applicationHEAD 中被加入。這個標籤公開了一組屬性,可以控制程式外觀,程式圖示等,並且提供對參數(命令列)的控制來啟動HTA。[6]除此以外,HTA 和一個HTML頁面的格式是相同的。

任何文字編輯器都可以用來建立HTA。可以從微軟獲得具有特殊功能的編輯器來開發HTA[7] 或者從第三方獲得。[8]

一個存在的HTML檔案(例如字尾為.htm.html的檔案)可直接將檔案字尾改為.hta來獲得HTA格式的檔案。

例子

編輯

這是一個Hello World程式在HTA中的實現過程:

<HTML>
<HEAD>
<HTA:APPLICATION ID="HelloExample" 
   BORDER="thick" 
   BORDERSTYLE="complex"></HTA:APPLICATION>
<TITLE>HTA - Hello World</TITLE>
</HEAD>
<BODY>
<H2>HTA - Hello World</H2>
</BODY>
</HTML>

另請參閱

編輯
  • Active Scripting
  • Chromium Embedded Framework
  • Google Chrome extension
  • Intranet
  • Firefox OS
  • XUL 和 XULRunner - 一個Mozilla的跨平台應用程式,它的語言和環境與HTML應用程式的機制相類似。
  • Apache Cordova
  • Pop-up ad

參考資料

編輯
  1. ^ Article ID:200874 in Microsoft Support頁面存檔備份,存於互聯網檔案館),in Microsoft Support Knowledge Base
  2. ^ Microsoft wins HTML application patent. [2016-04-02]. (原始內容存檔於2019-10-17). 
  3. ^ Introduction to HTML Applications (HTAs)頁面存檔備份,存於互聯網檔案館), in MSDN Library
  4. ^ Why Use HTAs頁面存檔備份,存於互聯網檔案館), in MSDN Library, Introduction to HTML Applications
  5. ^ [1]頁面存檔備份,存於互聯網檔案館) Introduction to HTML Applications (HTAs) - Compatibility
  6. ^ HTA:APPLICATION Object頁面存檔備份,存於互聯網檔案館), in MSDN Library, the complete specification of the tag hta:application
  7. ^ HTA Helpomatic. [2016-04-02]. (原始內容存檔於2010-03-25). 
  8. ^ HTAEdit, an editor for HTAs with a built-in debugger. [2016-04-02]. (原始內容存檔於2016-04-09). 

外部連結

編輯