使用jQuery的Internet Explorer上的Javascript错误,但在Firefox上工作正常
Javascript errors on internet explorer with jQuery but working fine on Firefox
一个简单的问题,我希望有人能帮助我。
在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" />
然后页面再次工作。
- 滚动在Chrome中有效,但在Firefox或IE中无效
- jQuery自动完成在Firefox中运行良好,但在Chrome中则不然
- 为什么这个按钮在IE中有效,但在Firefox中无效
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- Ajax调用在InternetExplorer中冻结UI,但在firefox中运行良好
- Javascript下载在firefox中停止,但在Chrome中有效
- 以下颜色更改功能在IE9和Firefox中运行良好,但在早期的IE或Chrome中则不然
- JavaScript函数在Safari中有效,但在Firefox中找不到
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- javascript代码,用于删除firefox中的空白,但在IE和chrome中无法正常工作
- jQuery代码在Firefox中工作,但在IE中失败
- 在Firefox中工作正常,但在Chrome中不能
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- 聚合物准备在IE11上启动,但在Firefox或Chrome上不启动
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用
- Jquery.hide()和.show()在firefox上运行速度较慢,但在chrome上运行良好
- 禁用字段在IE中有效,但在Firefox中无效
- 在getJSON之后构建HTML在Safari中有效,但在Chrome或Firefox中无效
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效