javascript - Hash 不适用于后退按钮;需要 javascript 来调用 url 更改函数

标签 javascript hash onchange window.location

大家好,这段代码的目的是读取 url 中哈希值后面的内容,并根据该值显示特定的 div。现在它工作得很好,除了当你已经在网站上时尝试更改哈希值时(或者如果你点击后退按钮,这具有相同的效果:更改哈希值,但 div 未更改)。该网站的设计是为了确保每次 div 更改(页面的主要内容)时它都不会重新加载,因此我假设当您点击后退按钮或在哈希后输入不同的值时 div 不会更改的原因是因为页面已经加载,并且 JavaScript 代码仅在页面加载时调用一次。我需要一种方法,以便在 url 更改时调用它。代码如下:

函数哈希() { var hash = window.location.hash.replace('#',''); 插入内容(哈希); }

最佳答案

恐怕这不是一个错误,而是一个功能。例如,Opera 将页面的确切状态存储在内存中。因此,如果您点击后退按钮,该状态将完全恢复。就像您从未更改过页面一样。

更改哈希值应该可以通过在更改哈希值后立即调用 InsertContent() 来实现。这不起作用吗?你能给我们看一下代码吗?

关于javascript - Hash 不适用于后退按钮;需要 javascript 来调用 url 更改函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4220596/

相关文章:

javascript - 尝试使用 Node.js 在循环中动态设置页面

authentication - HTTP Auth over SSL 安全吗?

javascript - 每次检测到任何更改时调用函数 `.change()`

javascript - Twitter Bootstrap - Scrollspy 忽略 ID

javascript - 使用 Vue.JS 删除多维数组内的值

linux - 这两个字符串有何不同?

arrays - CUDA 线程将可变数量的数据附加到公共(public)数组

javascript - 如何从 mysql 查询结果 onChange 下拉列表中自动填充文本框值?

jquery - 获取 jquery 中切换选择字段的值

javascript - 在 Angular 2 中以编程方式加载和卸载模块