Uncaught TypeError: Cannot read property 'msie' of undefined


因為圖方便,抄了別人寫的一個jquerry插件,運行時“var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; ”報了Uncaught TypeError: Cannot read property 'msie' of undefined的錯誤。

網上搜了一下, http://stackoverflow.com/questions/14923301/uncaught-typeerror-cannot-read-property-msie-of-undefined-jquery-tools里面說在jquerry1.9以后,browser屬性已經被移除。
上jquerry官網查了一下API,確實已經移除。官網建議使用 Modernizr
不希望再引入其它庫,再上網找其它的解決方案,關鍵字: jquery1.9瀏覽器類型
下面這個是可行的(出處: http://blog.csdn.net/lyc_2011_acm/article/details/8749177

 

判斷瀏覽器類型:
$.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 等。

檢查是否為 IE6:
// Old
if ($.browser.msie && 7 > $.browser.version) {}
// New
if ('undefined' == typeof(document.body.style.maxHeight)) {}


檢查是否為 IE 6-8:
if (!$.support.leadingWhitespace) {}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM