好吧,我希望您能在这里为我提供帮助,我在JQ中是个新手,我努力寻找如何自动更改页面URL的方法。
我在这里说明: 我有一个功能,可以在URL中搜索特定查询,然后根据查询的值执行某些操作。这是完成并工作的。 现在,我需要制作一个可以在加载相关页面时更改URL的页面,我不能制作一个通用的页面,因为不是每个页面都应该具有查询,也不是每个页面都应该具有相同的值(因此没有同样的答案),我该怎么做,因为此值是要更改的。 这个想法是,前一个函数将在每个页面上位于一个静态块上,而当后者没有改变页面时将只是“休眠”。因此,只需将后者放在特定的页面中即可更改URL ...
我对location.search以及所有其他东西都进行了修改,但通常会进行无限重定向循环,或者使用www.site.com/en/theUrl/undefined?[myquery]而不是www.site.com/en/theUrl ?[myquery]
这是第一个功能的搜索部分:
function CheckUrlParams(){
//Get the URL as String and search for queries
var sPageURL = location.search.substring(1);
//Split the URL string into an array[String]
var sURLVariables = sPageURL.split("&");
for (var i = 0; i < sURLVariables.length; i++){
//Sub-Split the URL array[String] into an array[String]
var sParameterName = sURLVariables[i].split("=");
if (sParameterName[0] == "WMV"){
return sParameterName[1];
}
}
}
查询应该是“?WMV = 123456”
我曾经考虑过类似的事情:
//Let's say WMVID = 123456
jQuery(window).ready(function AlterUrlParams (WMVID){
jQuery(this).attr('href', this.href + '?WMV='+WMVID );
location.search = this.href;
});
但是我想我并没有真正了解它的工作原理
希望你们能帮助我:)
答案 0 :(得分:0)
//Let's say WMVID = 123456
jQuery(window).ready(function AlterUrlParams (WMVID){
if (location.search.indexOf('?WMV='+WMVID) > -1) return; // will prevent infinite loop
location.search = '?WMV='+WMVID; // only alter search string
}
});
location.search
上的文档:https://www.w3schools.com/jsref/prop_loc_search.asp