更改地址栏中的整个url(Javascript)
我需要一个代码来更改地址栏中的整个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 };
<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的预期目标。