用于IE7的hashchange polyfill,可以跟踪每个tick的多个事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于IE7的hashchange polyfill,可以跟踪每个tick的多个事件相关的知识,希望对你有一定的参考价值。

我需要每个tick打一次哈希更改事件。

我目前的polyfill看起来像这样。

//If the hashchange event is missing implement it
hashchangeSupported || (function() {

    //save the current hash for reference next cycle
    var lastHash = location.hash;

    //check the hash for changes every tick
    setInterval(function() {

        //if the hash is different since the last tick then
        // fire a hash change event.
        if(lastHash !== location.hash) {
            trigger('hashchange', window);
            lastHash = location.hash;
        }
    }, 1);
});

问题是如果散列每次更新多次更新,它仍然只会触发一个散列更改事件。我正在寻找一种方法来检查每个滴答一次以上的变化。

我知道这是问了很多,我怀疑它可能没有getter和setter,但我知道有更好的程序员,我堆栈溢出,我想要一些第二意见。

答案

没有proxies是不可能的。

以上是关于用于IE7的hashchange polyfill,可以跟踪每个tick的多个事件的主要内容,如果未能解决你的问题,请参考以下文章