用于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的多个事件的主要内容,如果未能解决你的问题,请参考以下文章

ie7、ie8 和 ie9 的最佳占位符 polyfil 脚本 [关闭]

Shim 与 Polyfill

为啥不建议使用 polyfill 来支持 CSS3 选择器?

JavaScript .hashchange 性能。它会带来任何放缓吗?

用于 attachEvent 的 Polyfill 删除 dhtmlx attachEvent 函数

是否有用于 Firefox SVG 的 getIntersectionList、getEnclosureList、checkIntersection、checkEnclosure 的 polyfill