我只是构建一个简单的 ajax 网站,但在 safari 和 chrome 中遇到了问题。如果用户转到页面,我只是创建一个简单的重定向,即
"/blog"
他们将被重定向到
"/#/blog"
代码:
url = window.location.pathname
if(url != "/") {
window.location.pathname = "/#" + url
}
这在 FireFox 中运行良好,但不幸的是 webkit 浏览器将“#”转换为“%23”并给出 404,例如:
"/%23/blog"
如何防止这种情况发生?
谢谢, 亚历克斯
最佳答案
pathname
指的是主机之后、查询字符串和哈希之前的所有内容。考虑一下这个:
window.location.hash = window.location.pathname;
window.location.pathname = "/";
我不太确定哪些浏览器正确实现了 JavaScript 规范,但 WebKit 的行为对我来说似乎是正确的。
关于javascript - Webkit 将 "#"转换为 %23 导致 404 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155081/