Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript更改URL链接而不刷新_Javascript_Browser History - Fatal编程技术网

使用javascript更改URL链接而不刷新

使用javascript更改URL链接而不刷新,javascript,browser-history,Javascript,Browser History,是否可以自动更改url example.com/4000/title-2/#!4000到example.com/4000/title-2而不刷新页面?基本上是从URL中删除“/#!4000”。 请注意,删除hashbang之前的“/”非常重要,而不仅仅是hashbang。不知道这是否足够,以及它是否可以完全跨浏览器工作。。。chrome接受: location.hash = ""; 但这会在地址栏中保留“#” 在完全支持html5历史api的现代浏览器中,您可以: window.history

是否可以自动更改url example.com/4000/title-2/#!4000到example.com/4000/title-2而不刷新页面?基本上是从URL中删除“/#!4000”。
请注意,删除hashbang之前的“/”非常重要,而不仅仅是hashbang。

不知道这是否足够,以及它是否可以完全跨浏览器工作。。。chrome接受:

location.hash = "";
但这会在地址栏中保留“#”

在完全支持html5历史api的现代浏览器中,您可以:

window.history.replaceState('Object', 'Title', '/4000/title-2');
编辑:这不会更改浏览器的历史记录


编辑2:刚刚自动或通过编程找到?是否要更改。。?链接元素的
href
,或
窗口。位置
?我建议,如果您想更改浏览器地址栏中的URL,请查看URL重写,使用服务器(Apache?)上运行的任何内容。我们需要删除#及其前面的“/”。@mihai如果不刷新页面,这是不可能的。+1表示很棒,我以前从未遇到过=)我同意,HTML5提供了很棒的API:)@TobiasKrogh在不知道/4000/title-2的情况下可以这样做吗?我知道从window.location获取它可能有一个技巧,但我想知道是否可以直接使用一种“相对”路径(例如“/”)来实现