首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >让hashchange事件在所有浏览器(包括IE7)中工作

让hashchange事件在所有浏览器(包括IE7)中工作
EN

Stack Overflow用户
提问于 2012-02-18 16:44:41
回答 1查看 20.6K关注 0票数 17

我有一些代码(由另一个开发人员编写)在WordPress中执行AJAX页面加载(例如,不重新加载页面)当您单击导航项目时,AJAX会刷新主要内容区域。我的问题是它在IE7中崩溃了,我不知道从哪里开始调试。

最初的开场白是

代码语言:javascript
复制
var queue = 0;

$('document').ready(function() {
    window.addEventListener("hashchange", hashChange, false);

    // Define window location variables
    var windowHost = window.location.host,
        windowHash = window.location.hash,
        windowPath = window.location.pathname;

但我对它们进行了更改,使addEventListener根据该方法是否存在而成为条件。一些研究告诉我,这种方法在旧版本的IE中是不可用的(例如,在我的例子中是7)。此外,IE7调试控制台将其识别为不可用的方法,因此这一点非常清楚。我按如下方式重写了代码行,但代码仍然不起作用:

代码语言:javascript
复制
var queue = 0;

$('document').ready(function() {
    if(window.addEventListener) {
        window.addEventListener("hashchange", hashChange, false);
    }
    else if (window.attachEvent) {
        window.attachEvent("hashchange", hashchange, false);    
    }
    // Define window location variables
    var windowHost = window.location.host,
        windowHash = window.location.hash,
        windowPath = window.location.pathname;

完整的原始脚本可以在以下粘贴中查看:http://pastebin.com/Jc9ySvrb

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9339865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档