升级jQuery后,$.browser.msie 失效,如何模拟它?

说白了:$.browser定制是与遗留代码兼容的。

jQuery1 .9 + 删除了 $.browser。
以前的代码是靠它来判断IE的,现在直接崩溃了。

解决方法分两步: 1 .在加载jQuery之前添加这一段: javascript if(typeof$.browser===未定义){ $.浏览器={ 西:假 }; >
2 .更精确一点吗?检查用户代理: javascript if(typeof$.browser===未定义){ $.浏览器={ 姆西:假的, 版本:0 }; constua=window.navigator.userAgent; constisIE=ua.indexOf('MSIE')>-1 ||ua.indexOf('三叉戟/')>-1 ; 如果(是IE){ $.browser.msie=true; constversionMatch=ua.match(/(MSIE|rv:)(d+.d+)/); if(versionMatch&&versionMatch.length>=3 ){ $.browser.version=parseFloat(versionMatch[2 ]); } } >
注意:
该代码比依赖 $.browser 的其他代码运行得更快
第三方库需要特殊对待
从长远来看,始终建议进行功能测试。

功能测试示例: javascript constisIE=!!window.MSInputMethodContext&&!!document.documentMode;
或者使用 jquery-migrate 插件。

如何选择?这取决于您想要兼容的内容。
基本上兼容直接给$.browser赋值。
高级动态查询UserAgent。

由您决定哪一个适合您。

IE9下的 jquery-1.5.2.min.js,运行ligerui报的错SCRIPT5009: "Object"未定义 , 行16 字符6417

ligerUI 需要 jQuery。

首先添加 jQuery。

<脚本src =“jquery.min.js”></脚本> [xss_clean][xss_clean]
如果没有,请发布代码。

自己掂量一下。

地址引用不全的情况下怎样解决jQuery.js在浏览器中的引入问题

回想当年我做网站的时候,确实是一件非常头疼的事情。
记得有一次,在一个客户的项目中,地址栏中的jQuery.js引用错误,导致页面上所有的JS功能都不起作用。
当时我就像热锅上的蚂蚁,焦急万分。

当时我用的是你提到的方法,动态检测重载机制。
首先,我在 HTML 中输入了错误的 jQuery 地址,然后编写了一个 JavaScript 函数来检查 jQuery 是否加载成功。
果然没有加载成功,于是我赶紧上网找到了jQuery库的具体地址,动态创建了一个script标签,重新上传了一遍。

我记得当时的函数名称是checkAndReloadJQuery,代码也很简单,就几行。
我记得专门添加了console.log,这样我可以在调试时看到效果。
现在来看,console.log 是一个真正的救星,它让我知道 jQuery 是否确实加载成功。

那个项目终于解决了,但是也花了我很长时间。
当时我还特意录了下来,大概持续了半个工作日。
可悲的是,但幸运的是,客户对结果非常满意。

说到错误处理,我实际上没有将其添加到该项目中,因为我很幸运,它立即起作用了。
但转念一想,我还是需要添加错误处理,如果重载失败怎么办?至于性能影响,当时我并没有太关注。
毕竟只有一页,影响不大。
但你是对的。
频繁的重新加载肯定会对网站性能产生影响。
以后你一定要注意这一点。

总之,我从那次经历中学到了很多东西。
现在想来,如果我早点遇到像你这样详细的教程,我可能就不会这么头疼了。
呵呵,希望我的经验可以帮到你。