[英]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(兼容; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)時間戳:星期三,2012年6月6日22:36:43 UTC
消息:對象不支持此屬性或方法行:5653字符:9代碼:0 URI: http : //foscam-uk.com/js/prototype/prototype.js
消息:對象不支持此屬性或方法行:5988字符:5代碼:0 URI: http : //foscam-uk.com/js/prototype/prototype.js
消息:對象不支持此屬性或方法行:2字符:5代碼:0 URI: http : //foscam-uk.com/skin/frontend/default/theme316/js/scripts.js
消息:對象不支持此屬性或方法行:5736字符:7代碼:0 URI: http : //foscam-uk.com/js/prototype/prototype.js
消息:對象不支持此屬性或方法行:5988字符:5代碼:0 URI: http : //foscam-uk.com/js/prototype/prototype.js
消息:對象不支持此屬性或方法行:73字符:11代碼:0 URI: http : //foscam-uk.com/index.php
IE對CSS和JS文件的數量有一些限制。 (大約30歲)。 我沒有數,但似乎您有大量的JS和CSS文件引用。 如果超出此IE,則基本上停止下載腳本或CSS文件。 您可以使用Fiddler自己進行驗證。
嘗試使用壓縮工具將它們壓縮為單個文件(例如: http : //developer.yahoo.com/yui/compressor/ )
prototype.js似乎在每個瀏覽器中都會引發錯誤,但這些錯誤似乎對您的網站沒有影響。
您的網站在IE7和IE10中運行良好。 在IE8中,您的jQuery版本引發錯誤,而不是滑塊代碼。 我會將您的jQuery 1.7.1版本升級到1.7.2(最新版本)。
因此,看起來您正在加載幾個第三方庫。 您正在加載PrototypeJS,Scriptaculous,jQuery和jQuery插件*。 在我看來,您所擁有的不只是一個JavaScript問題,而是一個插件組織問題。
現在,您似乎jQuery.noConflict()
在一個地方使用了jQuery.noConflict()
類的東西,但在另一個地方卻沒有使用。
我的建議是停用網站上正在使用的所有當前模塊,這些模塊會注入JavaScript,然后一次重新啟用它們。 每次您重新啟用插件時,請檢查是否啟用了該功能,其他所有插件也都在工作。
*實際上,您正在加載的不僅僅是幾個庫。 您實際上正在加載jQuery的兩個版本以及Prototype。 這不是一個好習慣。 這是我所看到的,不算要插入的Magento生成的代碼:
您需要重新考慮如何處理這些影響。 這些庫的工作有很多重疊之處,您最好看看是否有一種方法可以使您選擇的模塊更加合理。
我的客戶端腳本也有類似的問題。 即使該站點在IE8和IE9中都可以運行,IE10 F12開發工具腳本選項卡仍顯示jQuery語法錯誤。
我使用的一種庫(Telerik Kendo UI)還不兼容IE10。
為了強制IE10顯示頁面,我必須將此meta標簽添加到HEAD標簽的最頂部(頭部的第一項):
<meta http-equiv="X-UA-Compatible" content="IE=9" />
然后頁面再次工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.