最近,我们在网站上添加了一个新的菜单栏,需要以下元标记:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
然而,这导致了一些问题:
<Script Language="VBScript">
Function vbMsg()
testVal = MsgBox(**numbers of text strings for messagebox contents**)
isChoice = testVal
End Function
</Script>
<Script Language="JavaScript">
var isChoice = 0;
function callAlert(){
vbMsg()
if (isChoice == 6) {
// return (true);
location.href = "<%= Request("SCRIPT_NAME")%>?Action=SaveMap&Save=True";
}
else {
location.href = "<%= Request("SCRIPT_NAME")%>?Action=SaveMap&Save=False";
// return (false);
}
}
</Script>
这会给出一个错误消息,即未定义vbMsg。使用之前的元标记,这种情况从未发生过:
<meta http-equiv="content-type" content="text/css; charset=UTF-8">
任何线索如何解决这个问题?
答案 0 :(得分:1)
这是因为IE11不再支持VB脚本:VBScript is no longer supported in IE11 edge mode (Microsoft)。
编辑:正如评论中所提到的,解决方案当然是用JavaScript重写你的vbMsg()函数。
答案 1 :(得分:0)
根据Microsoft提供的信息VBScript is no longer supported in IE11 edge mode。
以下标记为您提供IE 11中的IE 10模式(其中VBScript仍可正常工作):
<meta http-equiv="X-UA-Compatible" content="IE=10">
您需要检查这是否足以使新代码正常工作。
更好的长期解决方案是将您的VBScript代码转换为JavaScript代码,但您需要考虑与软件(站点/应用程序)的预期生命周期相关的成本。