吉趣网

吉语自天成,妙手偶得之

Permanent Link to Uncaught TypeError: Cannot read property ‘msie’ of undefined

网上用了个jquery插件,运行时“var cssfixedsupport=$.browser.msie && parseFloat($.browser.version) < 7;//判断是否ie6”报了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) {}
0.114097s