使用javascript更改URL

使用javascript更改URL,javascript,html,Javascript,Html,我有一个HTML选项卡系统,它使用以下javascript: HTML标记是: 如果您使用pushstate html5功能,它将无法与IE8和其他较旧的浏览器一起工作,但是如果您只想拥有ajaxy历史记录,则可以使用url的哈希部分。您可以使用以下命令修改url的哈希: window.location.hash="mytabid"; // url will be http://foo.com/#mytabid 如果将此选项与hash change事件结合使用,您可能希望使用jQuery或插件

我有一个HTML选项卡系统,它使用以下javascript:

HTML标记是:


如果您使用pushstate html5功能,它将无法与IE8和其他较旧的浏览器一起工作,但是如果您只想拥有ajaxy历史记录,则可以使用url的哈希部分。您可以使用以下命令修改url的哈希:

window.location.hash="mytabid";
// url will be http://foo.com/#mytabid
如果将此选项与hash change事件结合使用,您可能希望使用jQuery或插件来处理跨浏览器事件问题,您可以在使用“后退”按钮或通过访问location.hash属性加载页面时做出反应

window.onhashchange = function(a){
    console.log(a); //probably easiest to access the location.hash here.
}

您可以使用来支持较旧的浏览器。基于散列的回退很有效,但需要注意的是,使用散列复制粘贴的URL与实际路径的效果不同。我必须在哪里添加窗口。location.hash=mytabid?在jQuery的“click”处理程序函数中。
window.history.pushState(“object or string”, “Title”, “/new-url”);
window.location.hash="mytabid";
// url will be http://foo.com/#mytabid
window.onhashchange = function(a){
    console.log(a); //probably easiest to access the location.hash here.
}