【发布时间】:2013-03-10 06:05:11
【问题描述】:
如何转换:
到这里:
我有一堆旧 URL 需要重定向到我页面上的特定锚点,但我无法使用 htaccess 执行此操作,因为这些锚点无法通过。
有什么想法吗?
【问题讨论】:
标签: javascript url redirect anchor
如何转换:
到这里:
我有一堆旧 URL 需要重定向到我页面上的特定锚点,但我无法使用 htaccess 执行此操作,因为这些锚点无法通过。
有什么想法吗?
【问题讨论】:
标签: javascript url redirect anchor
这样的事情应该可以工作:
window.location.href = window.location.href.split('?')[0] + '#/' +
window.location.search.replace(/^?/, '');
【讨论】:
您可以像这样使用window.location 对象的.hash 和.search 部分:
window.location.hash = "/" + window.location.search.substr(1);
这将设置哈希而不重新加载页面。
如果您想重新加载页面,使其具有新的 URL(在 URL 栏中没有 ?thisUrl,那么您可以这样做:
var wl = window.location;
if (wl.search.length > 1) {
wl.href = wl.href.replace(/\?.*$/, "") + "#" + wl.search.substr(1);
}
【讨论】:
window.location.hash)将导致页面重新加载。如果您只希望它在现代浏览器中工作,您可以使用window.history.replaceState() 更改 URL 栏中显示的内容,而无需重新加载页面。请参阅replaceState() 上的MDN doc here。