HTML應用程序
此條目翻譯品質不佳。 (2018年10月1日) |
- 本文介紹了微軟的專利HTA實作。有關HTML5的緩存清單信息(Cache Manifest),請參考 Cache manifest in HTML5。
副檔名 |
.hta |
---|---|
網路媒體型式 |
application/hta |
開發者 | Microsoft |
首次發布 | 1999年4月23日 |
網站 | https://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx |
HTML應用程序(英語:HTML Application,縮寫:HTA)是一個使用HTML和動態HTML構建的Microsoft Windows應用程序,運行在Internet Explorer中,並且支援其他的腳本語言,比如VBS和JavaScript。HTML用來創建用戶介面,腳本語言則用來構建程式主體。HTA運行時不受瀏覽器安全模型的限制,實際上,它就像是一個被「完全信任」的應用程式程序。
大部分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的網站