首页 > 解决方案 > JavaScript 使用新 URL 更改地址栏而不重新加载页面

问题描述

我需要一些帮助。我想更改地址栏内容,但我需要替换整个地址,包括 www.site.com/(domain)

我尝试一下:

window.history.pushState("object or string", "Title", "new-url");

但没有成功。请帮忙?

谢谢

标签: javascripthtml

解决方案


history.pushState api 只允许您修改同源内的url ,即<scheme> "://" <hostname> [ ":" <port> ]. 该pushStateapi 将允许您修改路径、查询参数和 url 片段。您不能修改源的原因是由于同源策略,它提供了一个源不能干扰另一个源的保证。该策略的存在是为了在网络上提供安全保证,例如将恶意 JavaScript 限制在单一来源,使其不会影响其他网站。


推荐阅读