HTML應用程序

本页使用了标题或全文手工转换,现处于繁体转换模式
出自求聞百科

: 本文介紹的為微軟的專利HTA實作。有關HTML5的緩存清單信息(Cache Manifest),請參考 Cache manifest in HTML5

HTML Application (HTA)
副檔名.hta
網路媒體型式application/hta
特徵簽名%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支持,並且支援的其他腳本語言,像是VBSJScript。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 can 可以創建、重命名、刪除、並且註冊一個實例。儘管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]. 
  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]. 
  8. HTAEdit, an editor for HTAs with a built-in debugger. [2016-04-02]. 

外部連結