Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改地址栏中的整个url(Javascript)_Javascript_Html_Address Bar - Fatal编程技术网

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

更改地址栏中的整个url(Javascript),javascript,html,address-bar,Javascript,Html,Address Bar,我需要一个代码来更改地址栏中的整个url(javascript)。 我已经在互联网上搜索了这个问题,找到了这个代码 <script type="text/javascript"> function ChangeUrl(title, url) { if (typeof (history.pushState) != "undefined") { var obj = { Title: title, Url: url };

我需要一个代码来更改地址栏中的整个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');" />

函数ChangeUrl(标题、url){
if(typeof(history.pushState)!=“未定义”){
var obj={Title:Title,Url:Url};
pushState(obj,obj.Title,obj.Url);
}否则{
警报(“浏览器不支持HTML5”);
}
}
但这并不会改变整个URL,它只是改变了

localhost/index.php

localhost/Page1.htm

有没有办法更改整个URL?像

localhost.index.php

Page1.htm


使用History.replaceState解决您的问题


使用History.replaceState解决您的问题

没有

历史API不允许您更改页面的外观。这对进行攻击的人来说太有用了

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

历史API不允许您更改页面的外观。这对进行攻击的人来说太有用了


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

replaceState
与问题中使用的
pushState
方法一样,仅限于调整URL的路径。它无法实现OP的预期目标。
replaceState
与问题中使用的
pushState
方法一样,仅限于调整URL的路径。它无法实现OP的预期目标。