跳至內容

HTML應用程序

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
本文介紹了微軟的專利HTA實作。有關HTML5的緩存清單信息(Cache Manifest),請參考 Cache manifest in HTML5英語Cache manifest in HTML5
HTML Application (HTA)
副檔名
.hta
網路媒體型式
application/hta
開發者Microsoft
首次發布1999年4月23日 (1999-04-23)
網站https://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx

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

大部分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). 

外部連結

[編輯]