使用jQuery的Internet Explorer上的Javascript错误,但在Firefox上工作正常

Javascript errors on internet explorer with jQuery but working fine on Firefox

本文关键字:Firefox 但在 工作 错误 jQuery Internet Explorer Javascript 上的 使用      更新时间:2023-09-26

一个简单的问题,我希望有人能帮助我。

在Firefox上,我们的jQuery滑块运行良好,但是在使用Internet Explorer查看时,会出现一些javascript错误。该网站正在 http://foscam-uk.com/index.php

希望有一个可能的解决方案。

亲切的问候,谢谢!

错误:网页错误详细信息

用户代理:Mozilla/4.0(兼容;微星 8.0;视窗NT 6.1;哇64;三叉戟/4.0;SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;媒体中心 PC 6.0; .NET4.0C; .NET4.0E;信息路径.3)时间戳:星期三, 6 六月 2012 22:36:43 UTC

消息:对象不支持此属性或方法行: 5653字符: 9代码: 0URI:http://foscam-uk.com/js/prototype/prototype.js

消息:对象不支持此属性或方法行: 5988字符: 5代码: 0URI:http://foscam-uk.com/js/prototype/prototype.js

消息:对象不支持此属性或方法行: 2字符: 5代码: 0URI:http://foscam-uk.com/skin/frontend/default/theme316/js/scripts.js

消息:对象不支持此属性或方法行: 5736字符: 7代码: 0URI:http://foscam-uk.com/js/prototype/prototype.js

消息:对象不支持此属性或方法行: 5988字符: 5代码: 0URI:http://foscam-uk.com/js/prototype/prototype.js

消息:对象不支持此属性或方法行: 73字符: 11代码: 0URI:http://foscam-uk.com/index.php

IE对CSS和JS文件的数量有一些限制。(约30)。我没有数,但似乎您有大量的 JS 和 css 文件引用。如果超过此IE基本上停止下载脚本或css文件。您可以使用 Fiddler 自行验证。

尝试使用压缩工具将它们压缩为单个文件(例如:http://developer.yahoo.com/yui/compressor/

原型.js似乎在每个浏览器中都抛出错误,但这些似乎对您的网站没有影响。

您的网站在 IE7 和 IE10 中运行良好。在IE8中,您的jQuery版本抛出错误,而不是滑块代码。我会将您的 jQuery 的 1.7.1 版本升级到 1.7.2(最新)。

所以看起来你正在加载几个第三方库。您正在加载 PrototypeJS、Scriptaculous、jQuery 和 jQuery 插件*。在我看来,你遇到的与其说是JavaScript问题,不如说是插件组织问题。

现在,您似乎确实在一个地方使用了jQuery.noConflict()之类的东西,但在另一个地方却没有。

我的建议是停用您在网站上使用的所有注入 JavaScript 的当前模块,然后一次重新启用它们。每次重新启用插件时,请检查它是否正常工作,所有其他插件也都在工作。


*实际上,您加载的不仅仅是几个库。你实际上正在加载两个版本的jQuery,以及Prototype。这不是一个好的做法。这是我可以看到的,不包括正在插入的Magento生成的代码:

  • 原型 1.7
  • 信用卡验证脚本
  • 使用原型进行非常容易的现场验证
  • script.aculo.us 建设者.js
  • script.aculo.us 效果.js
  • script.aculo.us 控件.js
  • script.aculo.us 滑块.js
  • j查询 1.4.2
  • jCarouselLite
  • j查询 1.7.1
  • TMSlider:基于jQuery的图像滑块
  • j查询缓动 v1.3

你需要重新思考如何处理其中一些影响。这些库的功能有很多重叠,你最好看看是否有办法在你选择的模块中创建一些理智。

我的客户端脚本也有类似的问题。IE10 F12 开发工具脚本选项卡显示 jQuery 语法错误,即使该站点在 IE8 和 IE9 中工作。

我使用的一个库(Telerik Kendo UI)还不兼容IE10。

为了强制IE10显示页面,我必须将此元标记添加到HEAD标记的最顶部(头部的第一项):

 <meta http-equiv="X-UA-Compatible" content="IE=9" />

然后页面再次工作。