我尝试了以下带有两个脚本的HTML页面:
<html>
…
<body>
<script type="text/javascript">
alert ('Javascript');
</script>
<script type="text/vbscript">
msgbox "Vbscript"
</script>
</body>
</html>
在Windows 8.1预览+ Internet Explorer 11上,JavaScript工作,VBScript没有。
在(Windows 8 + IE10),(Windows 7 + IE9)上,这两个脚本有效。
我没有找到任何有关Internet Explorer 11中VBScript支持结束的信息,是吗?
IE团队多年来一直试图退出VBScript。
http://msdn.microsoft.com/en-us/library/windows/apps/Hh700404.aspx表示从ExecScript API中删除了支持。 http://msdn.microsoft.com/en-us/library/ie/dn384057(v=vs.85).aspx解释说它已从Internet区域的IE11 Edge模式中删除。
如果将以下内容添加到HEAD标记中,则VBScript将运行:
<meta http-equiv="x-ua-compatible" content="IE=10">
它其实很简单。
只有IE 10及更早版本支持VBScript。但是,您可以轻松地将IE 11上的兼容模式更改为IE 10,并且它可以正常工作。
我有同样的问题:2004年使用ASP和VBScript开发的旧网站,以下程序是我的解决方案。
要在IE 11中更改兼容模式:
实际上我只是遇到了同样的问题并为自己找到了解决方案。我也尝试过EricLaw描述的方式,但这对我不起作用。这是我发现的:
打开您的网站,转到Tools --> Compatibility View Settings
,然后单击Add
(您所在的网站应自动显示在表单中),您应该能够看到结果。
另一个可能的解决方案是使用HTA文件我正在努力保存一个使用简单HTML界面的工具,以便在我们公司从IE8迁移到IE11后继续存在,经过大量调查后发现了这个简单的解决方案:将文件从file.html重命名为file.hta
然后它由Microsoft HTML应用程序主机打开,它仍然支持VBscript。
缺点是并非所有CSS格式都受支持,但使用此解决方案非常容易
这可能是微软努力使IE11看起来像标准浏览器的一部分。
IE11删除了all existing ways to check whether it's IE(除了IE11尚不支持的实际特定功能检测)。
这个想法是IE现在可以像标准浏览器一样工作,任何现有的具有IE特殊情况的代码都不再适用。
检查VBScript支持只是Microsoft希望阻止的那些过时检查之一。
试试这个HTA代码:
<html><head>
<HTA:APPLICATION
ID = "testHTA"
APPLICATIONNAME = "testHTA"
VERSION = "0.1"
NAVIGABLE = "yes"
SHOWINTASKBAR = "yes"
SINGLEINSTANCE = "yes"
WINDOWSTATE = "normal"
BORDER = "normal"
BORDERSTYLE = "normal"
INNERBORDER = "no"
CAPTION = "yes"
MINIMIZEBUTTON = "yes"
MAXIMIZEBUTTON = "yes"
SYSMENU = "yes"
SCROLL = "yes"
SCROLLFLAT = "yes"
CONTEXTMENU = "yes"
SELECTION = "yes"
/>
</head>
<script language="javascript" type="text/javascript">
function MyJsAlert() {
alert('Hello world! Opening notepad now...');
}
</script>
<script language="VBScript" type="text/vbscript">
MyJsAlert() 'executes javascript
' Create a Windows Shell object
set oShell = CreateObject("WScript.Shell")
oShell.CurrentDirectory = "c:\CAMEO\webapps\"
oShell.run("c:\windows\system32\notepad.exe")
</script>
</body></html>
将上述代码保存为HTA文件(即test.hta),并在IE中启动。此代码混合使用javascript和vbscript,并在IE 11中运行。
是的,MS已经淘汰了VBS。就像OP一样,不,我没有听过这样的事情。他们就像旅行者想要淘汰一切,直到最后一位MS忠实信徒从悬崖上跳下来,肆无忌惮地想要消除地球上任何“网点”的痕迹(ASP,Skype API,XNA,Silverlight,Lightswitch,VBA,Expression )。
他们试图变得像Chrome / FF一样,就像看着逃跑者懦弱地爬到另一边 - 他们拥有最好的探险家,但是在一种奇怪的驱动方式中,人们认识到民粹主义的安全,他们正在肢解肢体金黄色的肢体。给他们带来优势的东西是DOM模型对所有Windows可执行文件开放,它确实运行VBS,但是因为他们喜欢定期将高功率散弹枪瞄准他们的脚,所以即使这样也被删除了。
他们严格阻止你(网页主持人)甚至不知道你的网页是在IE11等上运行,这些都是狡猾的行为,接近脑损伤。
然而<meta http-equiv="x-ua-compatible" content="IE=10">
添加到你的页面标题带回了VBS(如果你能弄清楚你是在IE11,任何人都可以尽管他们尽了最大的努力)。
微软完全在滑行。到目前为止,他们的操作系统仍然可以作为与苹果竞争的高端桌面平台,但随着谷歌和其他人的推进,这种情况将很快发生变化。开发人员已经对它们失去了信心。