簡體   English   中英

帶有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(兼容; 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生成的代碼:

  • 原型1.7
  • 信用卡驗證Javascript
  • 使用Prototype進行現場驗證非常簡單
  • script.aculo.us builder.js
  • script.aculo.us effects.js
  • script.aculo.us controls.js
  • script.aculo.us slide.js
  • jQuery 1.4.2
  • jCarouselLite
  • jQuery 1.7.1
  • TMSlider:基於jQuery的圖像滑塊
  • jQuery輕松v1.3

您需要重新考慮如何處理這些影響。 這些庫的工作有很多重疊之處,您最好看看是否有一種方法可以使您選擇的模塊更加合理。

我的客戶端腳本也有類似的問題。 即使該站點在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM