我在弄清楚如何在不重定向页面的情况下更改URL时遇到了一些麻烦。例如,当您选择新歌时,soundcloud.com将不会重新加载页面,但该网址将更改为" soundcloud.com/AUTHOR/NAME"。我真的很想知道这是怎么可能的,他们是如何做到的。
到目前为止,我知道使用javascript,您只能在URL中重写#之后的值。使用.htaccess重写规则,我不确定您是否可以指定该页面不应重新加载。
任何人都可以指导我找到从哪里开始?非常感谢你!
答案 0 :(得分:0)
看看pushState:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
假设 mozilla.org/foo.html 执行以下JavaScript: var stateObj = {foo:“bar”}; history.pushState(stateObj,“page 2”,“bar.html”);
这将导致显示URL栏 mozilla.org/bar.html ,但不会导致浏览器加载bar.html甚至检查bar.html是否存在。
这仅适用于HTML5浏览器。