删除了jquery $ .browser - 代码问题

时间:2014-03-17 20:08:31

标签: javascript jquery browser compatibility

我将jQuery从1.3.2更新到最新的2.1.0

现在我注意到我的页面上出现此错误:

TypeError: Cannot read property 'safari' of undefined

这是我的代码:

if(p=='marginRight'&&$.browser.safari)

if($.browser.safari){this.buttons(false,false);

我从1.9版本中看到。$ .browser已被删除,有人可以请求帮助,如何解决这个问题?我用谷歌搜索并尝试了一些东西,但似乎没有找到正确的东西..

谢谢

3 个答案:

答案 0 :(得分:1)

您可以通过原生navigator对象

检测浏览器
if(navigator.userAgent.indexOf("Safari") > -1) {
  // safari
}

答案 1 :(得分:1)

最简单的方法是只包含jquery-migrate。这会修补他们删除的所有功能。

否则,您必须重写代码以避免浏览器检测。通常,建议使用功能检测而不是浏览器嗅探。

答案 2 :(得分:0)

  

自jQuery 1.3和jQuery以来,jQuery.browser()方法已被弃用   在1.9中删除。如果需要,它可以作为jQuery的一部分使用   迁移插件。我们建议对库使用特征检测   比如Modernizr。

参考:http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed

由于它已删除,因此您最简单的选择是使用jquery migrate