如何更改 URL 以使用 JQ 添加查询?



好吧,我希望你能在这里帮助我,我是JQ的新手,我很难找到如何自动更改页面的URL。

在这里我解释: 我得到了一个函数,可以在 URL 中搜索特定查询并根据查询的值执行某些操作。这个已经完成并有效。 我现在需要制作一个在加载相关页面时更改 URL 的 URL,我无法制作一个通用的,因为并非每个页面都应该具有查询,也不是每个页面都应该具有相同的值(因此没有来自上一个函数的相同答案),我是如何做到的,因为这个值是要改变的。 这个想法是,前一个函数将在每个页面中处于静态块上,并且当后者没有更改页面时,它只是"睡眠"。所以后者只需要放在特定的页面中就可以更改URL...

我对 location.search 进行了一些修补,除了我通常和无限重定向循环或有 www.site.com/en/theUrl/undefined?[我的查询]而不是 www.site.com/en/theUrl?[我的查询]

这是第一个函数的搜索部分:

	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;
	});

但我想我并没有真正了解它的"工作原理">

希望你们能帮我解决这个问题:)

//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

最新更新