[轉][JavaScript]使用jquery外掛程式報錯:$.browser is undefined的解決方案

來源:互聯網
上載者:User

標籤:

剛開始以為是外掛程式有錯誤,就到官方網站去下載一個最新版的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的解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.