如何使用hash url中的id更改内容?

时间:2011-12-20 19:03:03

标签: javascript jquery ajax browser url-rewriting

我正在使用

var integer = window.location.hash.match(/\d+/) | 0;
alert(integer);

从哈希网址获取ID,但是当我在ajax调用后更改网址后使用后退按钮时。 它没有反映任何变化,基本上页面保持相同状态,只有网址发生变化。

所以,我想知道的是当我使用后退按钮时如何更改内容。 或者只是在我使用后退按钮时显示警告框中的整数。

e.g。

http://test.php/#1

当我使用后退按钮

进入该页面时显示1
http://test.php#2

当我使用后退按钮

进入该页面时显示2
 http://test.php

当我使用后退按钮

进入该页面时显示0

2 个答案:

答案 0 :(得分:2)

您需要捕获window.onhashchange事件,或使用HTML5的history.pushState()方法。

或者只使用jQuery历史插件。

答案 1 :(得分:2)

您需要处理hashchange window事件。类似的东西:

window.onhashchange = function() {
    // Update the page
};

或者您可以使用addEventListenerattachEvent。但要注意,它在IE7或更早版本中不起作用!对于早期的IE兼容性,您需要像this one这样的黑客。