javascript - onHashChange 在 Safari 中有效吗?

标签 javascript hash safari hashchange

onHashChangehashChange 在 Safari 中是否有效?我在 Windows 7 上使用 Safari 4.0.4 对其进行了测试,但它对我不起作用。

如果它不起作用,是否有任何解决方案可以跟踪 hash 是否已更改?

最佳答案

在我们的应用程序中,我们轮询以检查更改:

$b.hashCheck = setInterval(
    function(){
        if ( window.location.hash !== $b.C.current_hash){
            $b.C.current_hash = window.location.hash;

            //call the on change action here

        }
    },$b.C.hashCheckDelay
);

$b 是我们用于命名空间的全局对象,hashCheckDelay 根据经验设置为 120 毫秒。
虽然执行这种过程看起来有点难过,但实际上并没有我们测试过的任何浏览器上的任何性能问题。

关于javascript - onHashChange 在 Safari 中有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4029433/

相关文章:

c# - 根据任何给定的字符串生成整数(没有 GetHashCode)

perl - 为什么一个空的Perl哈希有一个键?

html - 上传图像文件时如何禁用捕获(在 ipad 上使用 safari)

javascript - 类型错误 : Result of expression near '...}.bind(this))...' [undefined] is not a function

.net - 在浏览器中使用 View 时,CSS 未在 ASP.NET 站点中加载

javascript - 在 javascript 中使用柯里化(Currying)函数优于普通函数的优点

javascript - 用于桌面应用程序的 Dojox/app。 (道场 1.9)

javascript - 类似于 c++ 中用于 javascript 的基于堆栈的对象

perl - 由于相似的键而导致哈希值覆盖?

html - css 变换旋转和倾斜在 safari 中不起作用