javascript - 如何在不创建页面重新加载的情况下更改 Firefox window.location.hash?

标签 javascript

<分区>

我在 URL 片段中存储了一些状态信息(散列,不管你怎么调用它)。当我在 Chrome 和 Safari 中更改 window.location.hash 时,页面不会重新加载 - 这是我想要的行为。当我在 Firefox 中更改 window.location.hash 时,我会重新加载页面。我该如何防止这种情况?

注意:我在 URL 中存储状态的原因是用户 A 可以将 URL 发送给用户 B,用户 B 将能够看到相同的页面(通过 AJAX 加载)。


解决方案:不管怎样,在 Firefox 中(仅?)如果您完全删除包括“#”字符的散列,页面将重新加载。我最后只是确保不删除整个哈希。

最佳答案

有一个名为 history 的 jQuery 插件可以执行此操作。建议你看看源码(上次看的不是很大)。它也适用于旧版本的 IE,但它真的很讨厌 :P

关于javascript - 如何在不创建页面重新加载的情况下更改 Firefox window.location.hash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312518/

相关文章:

javascript - 使用 window.onbeforeunload 时捕获用户响应

javascript - 面临编写 JavaScript 内存函数的问题

javascript - Laravel 第二个 js 文件

javascript - 如何获取地标上点击点的经度、纬度和海拔高度?

javascript - 加载一个在加载时没有设置 vars 的 JavaScript 文件

javascript - Symfony2 - 从路由到 Controller 获取 ID

javascript - 在 Nativescript View 中循环遍历 textFields

javascript - 如何提取正斜杠之间的字符串

javascript - 在 JS 中计算直方图的相似值的最佳方法是什么?

javascript - 多个文件上传并使用文件阅读器预览