更改地址栏中的整个 url (Javascript)

Change the whole url in the address bar (Javascript)

我需要一个代码来更改地址栏中的整个 url(在 javascript 中)。 我已经在整个互联网上搜索过这个问题并找到了这段代码

<script type="text/javascript">
function ChangeUrl(title, url) {
    if (typeof (history.pushState) != "undefined") {
        var obj = { Title: title, Url: url };
        history.pushState(obj, obj.Title, obj.Url);
    } else {
        alert("Browser does not support HTML5.");
    }
}
</script>
<input type="button" value="Page1" onclick="ChangeUrl('Page1', 'Page1.htm');" />
<input type="button" value="Page2" onclick="ChangeUrl('Page2', 'Page2.htm');" />
<input type="button" value="Page3" onclick="ChangeUrl('Page3', 'Page3.htm');" />

但这并没有改变整个URL,它只是改变了

localhost/index.php

localhost/Page1.htm

有没有办法改变整个URL?喜欢来自

localhost.index.php

Page1.htm

使用 History.replaceState 解决您的问题

https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState

没有

历史 API 不会让您更改明显的 Origin of the page. That would be too useful for people making Phishing 攻击。

您只能更改路径及其后面的内容。