onHashChange 在 Safari 中工作吗?

发布于 2024-09-29 02:03:36 字数 172 浏览 9 评论 0原文

onHashChangehashChange 在 Safari 中工作吗?我在 Windows 7 上使用 Safari 4.0.4 进行了测试,但它对我不起作用。

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

Does onHashChange or hashChange work in Safari? I tested it with Safari 4.0.4 on Windows 7 and it doesn't work for me.

If it doesn't work, is there any solution to track if the hash has changed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁把谁当真 2024-10-06 02:03:36

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

$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 毫秒。
虽然这样做看起来有点悲伤过程中,我们测试的任何浏览器都没有任何性能问题。

In our app we poll to check for changes:

$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 is the global object we use for our namespace and hashCheckDelay was empirically set at 120ms.
While it looks a bit sad to do this kind of process, there isn't any performance issue on any browser we tested.

太阳男子 2024-10-06 02:03:36

在 Safari 4.0.4 中它还不能工作,但在最新的版本中工作得很好。对于那些不支持 onHashChange 的浏览器,我没有找到任何可接受的解决方案来跟踪哈希值是否已更改。

In Safari 4.0.4 it's not working yet but in the latest one works fine. And I didn't find any acceptable solutions to track if the hash has changed for those browsers which don't support onHashChange.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文