Internet explorer Internet Explorer 11中的VBScript支持
我用两个脚本尝试了以下HTML页面:Internet explorer Internet Explorer 11中的VBScript支持,internet-explorer,vbscript,internet-explorer-11,Internet Explorer,Vbscript,Internet Explorer 11,我用两个脚本尝试了以下HTML页面: … 警报(“Javascript”); msgbox“Vbscript” 在Windows8.1预览版+InternetExplorer11上,JavaScript工作,VBScript不工作 在(Windows8+IE10)、(Windows7+IE9)上,这两个脚本工作正常 我在Internet Explorer 11中没有找到任何关于VBScript支持结束的信息,是吗?IE团队多年来一直在尝试退出VBScript 表示已从ExecScript A
…
警报(“Javascript”);
msgbox“Vbscript”
在Windows8.1预览版+InternetExplorer11上,JavaScript工作,VBScript不工作
在(Windows8+IE10)、(Windows7+IE9)上,这两个脚本工作正常
我在Internet Explorer 11中没有找到任何关于VBScript支持结束的信息,是吗?IE团队多年来一直在尝试退出VBScript 表示已从ExecScript API中删除支持。说明它已从Internet区域的IE11边缘模式中删除 如果将以下内容添加到HEAD标记,则VBScript将运行:
<meta http-equiv="x-ua-compatible" content="IE=10">
这可能是微软努力使IE11看起来像标准浏览器的一部分 IE11删除(IE11尚不支持的实际特定功能检测除外) 这个想法是IE现在已经足够像一个标准的浏览器一样工作了,任何带有IE特殊情况的现有代码都不再适用
检查VBScript支持只是Microsoft想要阻止的过时检查之一。实际上非常简单 只有IE 10及更早版本支持VBScript。不过,您可以轻松地将IE11上的兼容模式更改为IE10,并且它工作得非常好 我也有同样的问题:2004年使用ASP和VBScript开发了一个旧网站,下面的过程就是我的解决方案 要更改IE 11中的兼容性模式:
事实上,我也遇到了同样的问题,并为自己找到了解决办法。我也尝试了EricLaw描述的方法,但对我来说不起作用。以下是我的发现:
打开您的网站,转到
工具-->兼容性视图设置
,然后单击添加
(您所在的网站应自动显示在表单中),您应该能够看到结果。另一种可能的解决方案是使用HTA文件
我正在努力保存一个使用简单HTML界面的工具,以便在我们公司从IE8迁移到IE11的过程中幸存下来,经过大量调查,找到了这个简单的解决方案:将文件从file.HTML重命名为file.hta
然后由仍然支持VBscript的Microsoft HTML应用程序主机打开
缺点是并非所有CSS格式都受支持,但使用此解决方案非常容易尝试以下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>
函数MyJsAlert(){
警报(“你好,世界!现在打开记事本…”);
}
MyJsAlert()执行javascript
'创建Windows Shell对象
设置oShell=CreateObject(“WScript.Shell”)
oShell.CurrentDirectory=“c:\CAMEO\webapps\”
运行(“c:\windows\system32\notepad.exe”)
将上述代码保存为HTA文件(即test.HTA),并在IE中启动。此代码混合了javascript和vbscript,并在IE 11中工作。这是唯一存在的方法,是否有其他方法在IE11中运行vbscript。@zaree:您还没有解释您感兴趣的原因。基于MSDN,将给定站点移动到非Internet区域也可以。在StackOverflow上,如果您有问题,请单击页面顶部的“提问”按钮。@called2voyage:您在哪个操作系统(以及确切的IE版本)上尝试过?@EricLaw Windows 7 Enterprise SP1,Internet Explorer 11.0.9600.18059不太可能,他们明确表示,他们在用户代理中加入了Trident,这样你就知道它的IE了-他们只是不想为旧版本的IE触发所有的解决方案。你们都是对的,因为我们正在推动开发人员将重点放在功能检测上,而不是浏览器嗅探上,特别是对于新版本的IE,在大多数情况下,您的代码应该可以正常工作。随着对UA字符串的更改,随着IE向基于标准的方向不断成熟,DXfilters和条件注释等其他功能也被弃用。这只是一个临时解决方案。它可以很好地工作,但是如果有一天你想使用一个与IE10不兼容的功能,它将不再工作。但这也是我用的!你用的是哪个版本的IE?我用的是IE 11。这是MS()的链接,但你知道,到处都有聪明人知道一些很酷的把戏。也许还有另一种方式可以四处走动。。。