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

VBScript不见了。VBScript曾经是Web浏览器中与JavaScript竞争的脚本语言,但在最近的Windows更新后,在所有支持的Windows版本的Internet Explorer中,VBScript现在都被默认禁用。但VBScript多年来一直在逐渐消失。

再见,VBScript!

2019年8月13日,Microsoft通过Patch Tuesday更新在Windows 7、8和8.1系统的Internet Explorer中默认禁用了VBScript。微软在2019年7月9日发布了类似的Windows 10更新。现在,在任何安装了最新更新的受支持Windows系统上,默认情况下将禁用VBScript。

VBScript几乎已经消失了。微软从未在Microsoft Edge中支持VBScript,这意味着它仅限于Internet Explorer11。其他浏览器,如Mozilla Firefox、Google Chrome和Apple Safari也从未实现过VBScript。

VBScript与JavaScript竞争

VBScript是一种模仿Microsoft的Visual Basic的脚本语言。它的全称是“Microsoft Visual Basic脚本版”。

这种语言最早出现在1996年的一款消费产品中,当时它被添加到Internet Explorer中。网站可以像使用JavaScript一样使用VBScript,而Internet Explorer两者都支持。但是,VBScript只能在Internet Explorer中运行,而JavaScript是一种跨浏览器的解决方案,也可以在其他浏览器中运行。这是JavaScript获胜的一个重要原因,而且大多数网页从未采用VBScript作为客户端脚本。

微软刚刚在浏览器中禁用了VBScript。默认情况下,Internet Explorer 11将不再运行网页上的VBScript。它很少使用,但可能仍有一些老的内部商业网站依赖于VBScript而不是JavaScript。

早在2015年,微软的Edge浏览器团队就曾写过关于“告别”VBScript和其他旧技术(如ActiveX)的文章,指出“JavaScript已经成为事实上的网络语言。”Edge从未支持过VBScript。

VBScript不仅仅适用于Web浏览器

虽然这个最新的更新都是关于Internet Explorer的,但VBScript的意义不止于此。Microsoft的Internet信息服务(IIS)Web服务器可以运行服务器端的VBScript。Windows脚本宿主(WSH)可以运行VBScript文件,文件扩展名通常为.vbs。它出现在各种地方-例如,Microsoft Outlook 97使用VBScript作为其宏语言,尽管它是唯一这样做的Microsoft Office应用程序。

Windows管理员将VBScript用于在Web浏览器之外编写脚本,以取代批处理文件。但是VBScript在很久以前就已经过时了,正如保罗·瑟罗特所指出的,“到了世纪之交,微软正在过渡到.NET,而VBScript则被甩在了后面。“

想要使用脚本实现自动化的系统管理员现在通常会使用PowerShell,而不是VBScript。现代版本的Microsoft Office阻止VBScript控件。

为什么VBScript要消失了?

这一更新并不令人惊讶。早在2017年,微软就解释说,它打算在未来的Internet Explorer中默认禁用VBScript--那就是现在。

即使对于Internet Explorer来说,VBScript也太旧了。Internet Explorer 11将仅显示在传统文档模式下执行的网页的VBScript。微软的Edge浏览器团队写道,这是一个“临时解决方案”。微软可能会在可预见的未来支持Internet Explorer11,但该公司不会同时支持VBScript。

当然,Windows包含许多旧的兼容性功能,但是VBScript是潜在的危险。它是一种完整的脚本语言,可用于Internet Explorer中的网页,这是一种已经很旧的网络浏览器。几乎没有网页还在使用它,而且没有人再使用它进行开发。默认情况下禁用它是不费吹灰之力的。

如何重新启用VBScript(如果一定要重新启用)

这一变化应该不会对绝大多数人产生任何影响。如果网站需要VBScript,它只能在Internet Explorer中工作。假设您不使用旧的仅限IE的网站,那么您就没问题。即使你这样做了,那些老网站中的大多数也不使用VBScript。

但是,如果您出于某些原因仍然需要在Internet Explorer中使用VBScript,仍然有一种方法可以使用它。系统管理员可以通过注册表或组策略设置为特定安全区域启用VBScript。

微软并没有让这个选项变得容易找到。这是因为这项功能确实是为需要它的企业提供的。普通人不应该碰它。

事实上,微软表示,它只会“在有限的时间内”提供这些选项。预计在未来的Windows10版本中,它们将消失,从Internet Explorer中完全取消对VBScript的支持。

虽然这种语言有很长的历史,但它已经消失了很长一段时间。最近的Windows Update没有太大变化。绝大多数Windows用户不会注意到VBScript已被禁用,他们也没有理由在意。

相关:如何在Windows 10上的Internet Explorer中打开旧网页