onHashChange
或hashChange
在Safari中有效吗?我在Windows 7上使用Safari 4.0.4进行了测试,但它对我不起作用。
如果它不起作用,是否有任何解决方案可以跟踪hash
是否已更改?
答案 0 :(得分:1)
在我们的应用中,我们进行了调查以检查更改:
$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毫秒。
虽然它看起来有点难过做这样的过程的全局对象,没有任何性能问题在我们测试的任何浏览器上。
答案 1 :(得分:1)
在Safari 4.0.4
它还没有用,但在最新的一个工作正常。我没有找到任何可接受的解决方案来跟踪那些不支持onHashChange
的浏览器的哈希值是否发生了变化。