元标记X-UA兼容的IE边缘会导致问题

时间:2014-12-16 11:32:25

标签: html

最近,我们在网站上添加了一个新的菜单栏,需要以下元标记:

<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">

任何线索如何解决这个问题?

2 个答案:

答案 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代码,但您需要考虑与软件(站点/应用程序)的预期生命周期相关的成本。