HTML應用程式
此條目翻譯質素不佳。 (2018年10月1日) |
- 本文介紹了微軟的專利HTA實作。有關HTML5的快取清單資訊(Cache Manifest),請參考 Cache manifest in HTML5。
HTML應用程式(英語:HTML Application,縮寫:HTA)是一個使用HTML和動態HTML構建的Microsoft Windows應用程式,執行在Internet Explorer中,並且支援其他的手稿語言,比如VBS和JavaScript。HTML用來建立用戶介面,手稿語言則用來構建程式主體。HTA執行時不受瀏覽器安全模型的限制,實際上,它就像是一個被「完全信任」的應用程式程式。
副檔名 |
.hta |
---|---|
網路媒體型式 |
application/hta |
開發者 | Microsoft |
首次發佈 | 1999年4月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]
環境
執行
在圖形化介面下雙擊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:application
在 HEAD
中被加入。這個標籤公開了一組屬性,可以控制程式外觀,程式圖示等,並且提供對參數(命令列)的控制來啟動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
參考資料
- ^ Article ID:200874 in Microsoft Support (頁面存檔備份,存於互聯網檔案館),in Microsoft Support Knowledge Base
- ^ Microsoft wins HTML application patent. [2016-04-02]. (原始內容存檔於2019-10-17).
- ^ Introduction to HTML Applications (HTAs) (頁面存檔備份,存於互聯網檔案館), in MSDN Library
- ^ Why Use HTAs (頁面存檔備份,存於互聯網檔案館), in MSDN Library, Introduction to HTML Applications
- ^ [1] (頁面存檔備份,存於互聯網檔案館) Introduction to HTML Applications (HTAs) - Compatibility
- ^ HTA:APPLICATION Object (頁面存檔備份,存於互聯網檔案館), in MSDN Library, the complete specification of the tag
hta:application
- ^ HTA Helpomatic. [2016-04-02]. (原始內容存檔於2010-03-25).
- ^ HTAEdit, an editor for HTAs with a built-in debugger. [2016-04-02]. (原始內容存檔於2016-04-09).
外部連結
- HTML Component (HTC) Reference at MSDN(頁面存檔備份,存於互聯網檔案館). An HTC encapsulates specific functionality or behavior within HTAs.
- The Script Center(頁面存檔備份,存於互聯網檔案館), The Script Center, home of Hey, Scripting Guy! Blog
- Learn About Scripting for HTML Applications (HTAs)(頁面存檔備份,存於互聯網檔案館), 一個學習HTA的網站