Javascript 删除所有具有历史推送状态的获取变量
Javascript remove all get variables with history push state
如何删除所有具有 javascript 历史推送状态的获取变量?
它应该在以下情况下工作:
http://example.com/slug1/slug2/index.php?myvar=1&myvar2=4
http://example.com/index.php?myvar=1&myvar2=4
http://example.com/slug1/slug2/?myvar=1&myvar2=4
http://example.com/slug2/?myvar=1&myvar2=4
之后应该是这样的:
http://example.com/slug1/slug2/index.php
http://example.com/index.php
http://example.com/slug1/slug2/
http://example.com/slug2/
也许像这样的函数:
function removeGetVariablesFromUrl() {
// Do stuff
}
不应该 return 更改的地址,它应该在不重新加载页面的情况下更改地址字段中的实际 url。
真的很简单:
function removeGetVariablesFromUrl(my_url) {
my_url = "An url without get variables";
history.pushState({}, 'The title', my_url);
}
javascript 中有一个动态的方法:
var url = window.location.href;
if(url.indexOf("?") != -1) {
var resUrl = url.split("?");
if(typeof window.history.pushState == 'function') {
window.history.pushState({}, "Hide", resUrl[0]);
}
}
这将带您进入当前 URL 并删除“?”之后的所有内容(包括“?”)符号(表示 $_GET 变量)
如何删除所有具有 javascript 历史推送状态的获取变量?
它应该在以下情况下工作:
http://example.com/slug1/slug2/index.php?myvar=1&myvar2=4
http://example.com/index.php?myvar=1&myvar2=4
http://example.com/slug1/slug2/?myvar=1&myvar2=4
http://example.com/slug2/?myvar=1&myvar2=4
之后应该是这样的:
http://example.com/slug1/slug2/index.php
http://example.com/index.php
http://example.com/slug1/slug2/
http://example.com/slug2/
也许像这样的函数:
function removeGetVariablesFromUrl() {
// Do stuff
}
不应该 return 更改的地址,它应该在不重新加载页面的情况下更改地址字段中的实际 url。
真的很简单:
function removeGetVariablesFromUrl(my_url) {
my_url = "An url without get variables";
history.pushState({}, 'The title', my_url);
}
javascript 中有一个动态的方法:
var url = window.location.href;
if(url.indexOf("?") != -1) {
var resUrl = url.split("?");
if(typeof window.history.pushState == 'function') {
window.history.pushState({}, "Hide", resUrl[0]);
}
}
这将带您进入当前 URL 并删除“?”之后的所有内容(包括“?”)符号(表示 $_GET 变量)