IE加载jquery.js不完整,导致"jQuery is undefined"
最近做的一款基于server的网页,在Chrome浏览器中使用没有任何问题,但在IE或者Edge浏览器中打开就会出现""jQuery is undefined""的错误,通过BeyondCompare对比发现IE浏览器中加载的jQuery.js 文件并不完整,缺少了某些字符,可能正是由于缺少了这部分代码,导致JQuery.js没有被正确解析才会出现上述的错误!
html调用JQuery的方式如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="/js/jquery.js" type="text/javascript" charset="UTF-8"></script>
<script src="/js/ajax.js" type="text/javascript" charset="UTF-8"></script>
<script src="/js/femtomes.js" type="text/javascript" charset="UTF-8"></script>
<link rel="stylesheet" href="js/femt.css" type="text/css">
<script>
alert(typeof(jQuery));
</script>
</head>
如果完整加载了jQuery.js文件则alert(typeof(jQuery));会输出function,如果未完整加载则会提示undefined;
但如果将jQuery.js引用方式改为下面的方式则不会出现加载jQuery.js不完整的情况;
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
由于页面需要工作在离线情况下,所以使用这种方式肯定是不合适的,但为什么会有这种情况表示很理解;
1.网上普遍的说法是编码格式的额问题,虽然IE默认的是GB2312的编码,但I也支持UTF-8,怎么就会出现由于编码格式导致加载的js文件不完整了,
2.另外其他的js文件也没有出现加载不完整的情况,唯独jQuery.js出现了,表示很奇怪,总不能是因为文件太大了吧?(80KB+,其他的文件只有几KB),但Chome上面加载却完全没问题,所以很是疑惑!?
3. 由于jQuery.js文件加载不完整的问题导致整个Server页面在IE中的功能不完整,导致有调用到jQuery的地方就会出现问题
因此希望有遇到类似问题的朋友能给指点一二,相互交流!