Internet Explorer 11中的VBScript支持

我用两个脚本尝试了下面的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中,我没有find有关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边缘模式中删除。

如果将以下内容添加到HEAD标记中,则VBScript将运行:

 <meta http-equiv="x-ua-compatible" content="IE=10"> 

这其实很简单。

只有IE 10及更高版本支持VBScript。 但是,您可以轻松地将IE 11的兼容模式更改为IE 10,它工作得很好。

我有同样的问题:2004年使用ASP和VBScript开发的旧网站,下面的程序是我的解决scheme。

为了在IE 11中改变兼容模式:

  1. 按F12打开开发人员工具
  2. 在左边的工具栏中,直到看到“仿真”设置页面
  3. 将文档模式从默认(“边缘”)更改为10
  4. 享受你的VBScript

另一个可能的解决scheme是使用HTA文件,我正在努力保存一个工具,使用简单的HTML接口,以保持我们的公司从IE8迁移到IE11,经过大量的调查,发现这个简单的解决scheme:重命名文件从file.html file.hta

然后由Microsoft HTML应用程序主机打开,它仍然支持VBscript。

缺点是并不是所有的CSS格式都支持,但是使用这个解决scheme真的很容易

其实我刚刚有同样的问题,并find了我自己的决议。 我也尝试了EricLaw描述的方式,但是这对我没有用。 这是我发现的:

打开你的网站,进入Tools --> Compatibility View Settings ,然后点击Add (你所在的网站应该自动显示在表单中),你应该可以看到结果。

这可能是微软努力使IE11看起来像标准浏览器的一部分。

IE11删除所有现有的方式来检查是否是IE (IE11不支持的实际特定function检测除外)。

这个想法是,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中工作。