我必须使用 jQuery 或 JavaScript 将 st=6 替换为 st=7 并更新地址栏。我尝试使用jQuery地址插件,但我只能替换#之后的部分。
您能否建议我如何在 # 之前更新查询字符串。查询字符串如下所述。
http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10
我不想在更改 url 时刷新页面,但需要更改地址栏中的 url。
我必须使用 jQuery 或 JavaScript 将 st=6 替换为 st=7 并更新地址栏。我尝试使用jQuery地址插件,但我只能替换#之后的部分。
您能否建议我如何在 # 之前更新查询字符串。查询字符串如下所述。
http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10
我不想在更改 url 时刷新页面,但需要更改地址栏中的 url。
如果您的意思是要更新地址栏中的实际 url,那么这是 HTML5 的一项新功能,并未得到广泛支持。
例如:
window.history.pushState(“object or string”, “Title”, “/new-url”);
查看 caniuse.com 似乎这将在所有浏览器的下一个主要版本中出现:
您仍然可以更改 url,但它会导致页面通过使用重新加载window.location = "http://www.example.com/";
您应该能够使用此页面中的其他正则表达式来构建要重定向到的 url。
我认为您要求的内容无法实现,请考虑将当前 url 替换为真实银行 url 的银行登录表单页面,这将导致重大安全问题。
尝试这个
var str = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10';
str.replace(/(st\=)\d+&/, "$1" + '7'); // replace '7' with any number you like
它不是 jQuery,它是 javascript(jQuery 是由 :) 通过正则表达式组成的,它应该在你的情况下完成这项工作。
您可以使用正则表达式,如下所示:
var addr = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10';
var newVal = 7;
addr.replace(/([?&])st=\d+/, '$1st=' + newVal);