標籤:
剛開始以為是外掛程式有錯誤,就到官方網站去下載一個最新版的Jcrop外掛程式,結果在原項目的網頁開啟就是正常的,而引入項目就會報錯,我發現可能與jquery的外掛程式版本有關,查看官方的demo目錄下的juqery版本是V1.3.2,
而我使用的jquery版本是V1.11.1,查看jquery官方的更新日誌,果然是這個的問題。
關於$.browser
browser就是用來擷取瀏覽器基本資料的。
jQuery 從 1.9 版開始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。
在更新的 2.0 版本中,將不再支援 IE 6/7/8。 以後,如果使用者需要支援 IE 6/7/8,只能使用 jQuery 1.9。
解決方案
如果要全面支援 IE,並混合使用 jQuery 1.9 和 2.0, 官方的解決方案是:
<!--[if lt IE 9]> <script src=‘jquery-1.9.0.js‘></script> <![endif]-->
<!--[if gte IE 9]> <script src=‘jquery-2.0.0.js‘></script> <![endif]-->
從長久來看,這樣有利於在複雜情況下根據瀏覽器特性進行分別處理, 而不是簡單的檢測瀏覽器類型和版本。
但目前很多舊程式的移植恐怕無法直接過渡為根據瀏覽器支援特性, 所以在網上找了一些能夠直接替換的解決辦法。
判斷瀏覽器類型$.browser.mozilla =
/firefox/.test(navigator.userAgent.toLowerCase()); $.browser.webkit =
/webkit/.test(navigator.userAgent.toLowerCase()); $.browser.opera =
/opera/.test(navigator.userAgent.toLowerCase()); $.browser.msie =
/msie/.test(navigator.userAgent.toLowerCase());
等號後面的運算式返回的就是 true/false, 可以直接用來替換原來的 $.browser.msie 等。
本文部分內容摘自:http://www.fwolf.com/blog/post/35
原文連結:http://www.uedsc.com/jquery-browser-is-undefined.html
[轉][JavaScript]使用jquery外掛程式報錯:$.browser is undefined的解決方案