什么是 VBScript,为什么微软要杀掉它?

曾經在網頁瀏覽器領域與 JavaScript 競爭的腳本語言 VBScript,如今已逐漸淡出人們的視野。隨著 Windows 的近期更新,在所有受支持的 Windows 版本中,Internet Explorer 上的 VBScript 預設已被禁用。實際上,VBScript 的衰落早已開始。

再見,VBScript!

早在 2019 年 8 月 13 日,微軟就透過「補丁星期二」更新,在 Windows 7、8 和 8.1 系統上的 Internet Explorer 中預設禁用了 VBScript。而針對 Windows 10 的類似更新則於 2019 年 7 月 9 日發布。現在,在任何安裝了最新更新的受支持 Windows 系統上,VBScript 都會預設處於禁用狀態。

VBScript 幾乎已成為歷史。微軟從未在其 Microsoft Edge 瀏覽器中支持過 VBScript,這意味著它僅限於在 Internet Explorer 11 中使用。其他瀏覽器,如 Mozilla Firefox、Google Chrome 和 Apple Safari,也從未實現 VBScript 的支持。

VBScript 與 JavaScript 的競爭

VBScript 是一種模仿微軟 Visual Basic 的腳本語言,其全稱是「Microsoft Visual Basic Scripting Edition」。

這種語言最早於 1996 年出現在消費產品中,當時它被加入到 Internet Explorer 中。網站可以像使用 JavaScript 一樣使用 VBScript,Internet Explorer 也同時支持這兩者。然而,VBScript 僅限於 Internet Explorer,而 JavaScript 是一種跨瀏覽器的解決方案,適用於其他瀏覽器。這是 JavaScript 勝出的重要原因之一,大多數網頁從未將 VBScript 用於客戶端腳本。

微軟現在已直接在瀏覽器中禁用了 VBScript。Internet Explorer 11 預設不再執行網頁上的 VBScript 代碼。雖然使用率不高,但可能仍有一些老舊的內部商業網站依賴 VBScript 而非 JavaScript。

微軟的 Edge 瀏覽器團隊曾表示,他們早在 2015 年就向 VBScript 和 ActiveX 等舊技術「說再見」,並指出「JavaScript 已成為事實上的網路語言」,而 Edge 從一開始就沒有支援 VBScript。

VBScript 不僅僅適用於網頁瀏覽器

雖然最新的更新主要是針對 Internet Explorer,但 VBScript 的用途不僅於此。微軟的 Internet 信息服務(IIS)網路伺服器可以執行伺服器端的 VBScript。Windows 腳本宿主(WSH)可以執行 VBScript 檔案,通常帶有 .vbs 副檔名。它曾出現在各種地方——例如,Microsoft Outlook 97 使用 VBScript 作為其巨集語言,儘管它是唯一這樣做的 Microsoft Office 應用程式。

VBScript 曾被 Windows 管理員用於在網頁瀏覽器之外編寫腳本,取代批處理檔案。然而,VBScript 早已過時。正如 保羅·瑟洛特 所指出的,「到世紀之交,微軟正在轉向 .NET,而 VBScript 被拋在了後面。」

現在,想要使用腳本實現自動化的系統管理員通常會使用 PowerShell 而不是 VBScript。現代版本的 Microsoft Office 也會 阻止 VBScript 控制項

為什麼 VBScript 會消失?

這次更新並不令人意外。早在 2017 年,微軟就 宣布 它打算在未來在 Internet Explorer 中預設禁用 VBScript——而未來已然到來。

即使對於 Internet Explorer 來說,VBScript 也太過老舊。Internet Explorer 11 只會執行在舊文檔模式下呈現的網頁中的 VBScript。微軟的 Edge 瀏覽器團隊稱之為「臨時解決方案」。微軟可能會在可預見的未來繼續支援 Internet Explorer 11,但該公司並未同時支援 VBScript。

當然,Windows 包含許多舊的兼容性功能,但 VBScript 具有潛在的危險性。它是一種完整的腳本語言,可在 Internet Explorer 這個已經很舊的網頁瀏覽器中用於網頁。很少有網頁仍然使用它,也沒有人再用它進行開發。預設禁用它是順理成章的。

如何重新啟用 VBScript(如果必要)

對於絕大多數人來說,這種變化應該不會影響任何事情。如果網站需要 VBScript,它只能在 Internet Explorer 中執行。假設您不使用僅限 IE 支持的舊網站,那麼這就沒什麼問題。即使您這樣做,大多數舊網站也不會使用 VBScript。

但是,如果出於某種原因您仍然需要在 Internet Explorer 中使用 VBScript,仍然可以重新啟用它。系統管理員可以 透過登錄檔或組策略設定,為特定的安全區域啟用 VBScript。

微軟並沒有讓這個選項很容易找到,因為此功能確實是為需要它的企業準備的。普通用戶不應該隨意更改這些設定。

事實上,微軟表示它只會在「有限的時間內」提供這些選項。預計這些選項會在未來的 Windows 10 版本中消失,從 Internet Explorer 中完全移除 VBScript 的支援。

雖然這種語言存在已久,但它已經沒落很久了。最近的 Windows 更新並沒有帶來太大的變化。絕大多數 Windows 用戶不會注意到 VBScript 已被禁用,也沒有理由去關心它。