Javascript 如何使用哈希url中的id更改内容?
我正在使用Javascript 如何使用哈希url中的id更改内容?,javascript,jquery,ajax,browser,url-rewriting,Javascript,Jquery,Ajax,Browser,Url Rewriting,我正在使用 var integer = window.location.hash.match(/\d+/) | 0; alert(integer); 从散列url获取id,但在ajax调用后更改url后使用后退按钮。 它并没有反映任何变化,页面基本上保持不变,只有url变化 所以,我想知道的是,当我使用后退按钮时,如何更改内容。 或者,当我使用后退按钮时,只需在警报框中显示整数即可 e、 g 使用“后退”按钮进入该页面时显示1 http://test.php#2 http://test.p
var integer = window.location.hash.match(/\d+/) | 0;
alert(integer);
从散列url获取id,但在ajax调用后更改url后使用后退按钮。
它并没有反映任何变化,页面基本上保持不变,只有url变化
所以,我想知道的是,当我使用后退按钮时,如何更改内容。
或者,当我使用后退按钮时,只需在警报框中显示整数即可
e、 g
使用“后退”按钮进入该页面时显示1
http://test.php#2
http://test.php
使用“后退”按钮进入该页面时显示2
http://test.php#2
http://test.php
当我使用“后退”按钮到达该页面时显示0。您需要捕获事件,或者使用HTML5的方法
http://test.php#2
http://test.php
或者只使用jQuery历史插件。您需要处理
窗口的hashchange
事件。比如:
window.onhashchange = function() {
// Update the page
};
或者您可以使用addEventListener
和attachEvent
。不过,请注意,它在IE7或更早版本中不起作用!对于早期的IE兼容性,当我将内容从非散列页面更改为散列页面(如test1.com改为test1.com/#1)时,您需要一个类似的hack。它会显示输出,但我想将内容从test1.com/#2改为test1.com/#1@SobhagyaMohanty对因此,您必须捕获window.onhashchange
并为window.location.hash
的新值重新加载正确的AJAX内容。