【问题标题】:msie issue with JS Hashchange EventJS Hashchange 事件的 msie 问题
【发布时间】:2013-11-01 01:44:09
【问题描述】:

我正在尝试在Tutorial 之后使用 AJAX 加载我的基于 wordpress 的网站。所有代码对我来说都很有意义,但他们使用的是一个名为 JS Hashchange Event 的插件。我遇到的问题是它部分使用了$.browser.msie,所以当我使用jQuery 1.9 运行它时,我得到Uncaught TypeError: Cannot read property 'msie' of undefined 错误。我尝试添加 js 迁移插件,但它不起作用。我读到我可以添加这段代码

jQuery.browser={};(function(){jQuery.browser.msie=false;
jQuery.browser.version=0;if(navigator.userAgent.match(/MSIE ([0-9]+)\./)){
jQuery.browser.msie=true;jQuery.browser.version=RegExp.$1;}})();

但不知道放在哪里。有人有这个问题吗?或者也许是使用 AJAX 加载 wordpress 页面的更好方法(保持页眉和页脚静态)?

【问题讨论】:

    标签: javascript jquery ajax wordpress


    【解决方案1】:

    自 jQuery 1.9 起,$.browser 已被删除。

    直接来自文档:$.browser

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

    如果需要,您可以使用jQuery migrate 插件来恢复已删除的功能。如果不行,可以试试Ben Alman's hashchange plugin,把$.browser.msie换成(document.documentMode != undefined)

    【讨论】:

      【解决方案2】:

      此脚本有更新,请参考网址:https://github.com/georgekosmidis/jquery-hashchange

      2013-29-11 修复:从 jQuery 1.9 开始,Ben 的代码中使用的 $.browser 不再受支持。

      【讨论】:

        猜你喜欢
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-06
        • 2012-04-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多