JS Hashchange事件的msie问题

时间:2013-10-23 00:12:49

标签: javascript jquery ajax wordpress

我正在尝试使用AJAX加载基于wordpress的网站Tutorial。所有的代码都给了我,但他们使用的是一个名为JS Hashchange Event的插件。我遇到的问题是部分使用$.browser.msie,所以当我使用jQuery 1.9运行它时,出现Uncaught TypeError: Cannot read property 'msie' of undefined错误。我尝试添加js migrate插件但它没有用。我读到我可以添加这段代码

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页面(保持页眉和页脚静态)?

2 个答案:

答案 0 :(得分:16)

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

直接来自文档:$.browser

  

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

如果需要,您可以使用jQuery migrate插件恢复已删除的功能。如果它不起作用,您可以尝试使用Ben Alman's hashchange plugin,并将$.browser.msie替换为(document.documentMode != undefined)

答案 1 :(得分:0)

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

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