IE11 JQuery错误?

时间:2016-10-21 14:09:37

标签: javascript jquery internet-explorer-11

我的代码在Firefox和Chrome中运行良好,但在IE 11中运行不正常。我收到了下一条错误消息:

   1) SCRIPT5009: '$' is undefined
    For this line of code:
    $.extend({ 
      )} 

   2)SCRIPT5009: 'jQuery' is undefined
         // Browser globals
            factory( jQuery );

   3)SCRIPT1010: Expected identifier
        .catch( function( error ) {
            jQuery.readyException( error );
        } );

这是我的标题标记,其中包含所有包含:

<head>
    <script type="text/javascript" src="jquery/jquery-3.1.1.js"></script>
    <script type="text/javascript" src="jquery/jquery-ui.js"></script>
    <script type="text/javascript" src="jquery/JQuery_alert.js"></script>
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.structure.css">
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.theme.css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

我发现如果我在IE中打开我的开发工具,然后在右上角单击文档模式并切换到Edge我的代码,上面的所有包含工作正常。所以我的问题是什么是Edge?我如何确保使用IE的其他人不会在运行我的页面时出现问题?有办法解决这个问题吗?提前致谢。

2 个答案:

答案 0 :(得分:17)

兼容性视图

当Internet Explorer在兼容性视图中运行时,它会模拟旧版本,例如IE8,它与最新版本的jQuery不兼容(只有1.x版本的jQuery与旧版本的IE兼容)。

检查兼容性视图是否为问题

当您在Internet Explorer中点击F12时,它应该显示开发人员工具。在工具栏的右上角附近,您应找到一个下拉菜单,可让您在Edge,10,9,8,7和5之间切换。切换它将使页面使用新文档模式进行刷新。如果切换到Edge并且仍然遇到jQuery错误,那么可以排除兼容性视图作为问题。

确保页面不会显示在兼容性视图

请查看此处有关为Internet Explorer指定文档模式的文档:https://msdn.microsoft.com/en-US/library/jj676915.aspx

您还可以尝试通过在HTML的标题中插入<meta>标记(它应该是标题中的第一个标记)来强制IE11以边缘模式显示,如下所示:

<html>
<head>
    <meta http-equiv="x-ua-compatible" content="IE=edge">
...

这指示Internet Explorer明确使用该文档模式。

答案 1 :(得分:0)

如果您的jquery引用存储在包含为引用的.jspf文件中,您也会遇到问题。 IBM Websphere将把jspf缓存在服务器上的temp文件夹中,即使用ear / war部署也不会替换。有必要从temp文件夹中删除这些文件。