我想重定向用户,但首先我需要通过更改字符串来操作网址:
我这样做:
var url = location.href;
url=url.replace("featured", "list");
window.location.href=url;
但在重定向用户之前,我还想将url的get参数更改为特定值。 我在这里读到它应该这样做:
//
location.search = jQuery.query.set("page", 1);
//
我只是不知道在重定向之前如何结合字符串和参数操作,因为位置搜索不考虑我的字符串替换,因为字符串替换不需要location.search既不考虑也不考虑。
基本上,如果用户在这里: http://www.mysite.com/index.php?page=3&mode=featured
我希望他被重定向到: http://www.mysite.com/index.php?page=1&mode=list
这就是他当然的页码。
PS:我不想强迫用户做任何事情。我的观点是使用数据过滤系统,如果它被激活,用户应该处于列表模式并从第1页开始。这就是全部。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以运行GUP功能。 GUP函数在url中获取特定参数。在你的案例'page'和'model'
function gup( name ){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ){
return "";
}else{
return results[1];
}
}
//this function checks the value of the 'page' and 'mode' parameters
function checkURL(){
page = gup('page');
mode = gup('mode');
//if the page parameter is 1 and the mode parameter is 'featured' then redirect
if(page == 3 && mode == 'featured){
window.location.replace('http://www.mysite.com/index.php?page=1&mode=list');
}
}
希望这能引导你朝着正确的方向前进。
答案 1 :(得分:0)
谢谢coder29。 即使最终不是我需要的,这也是正确的方向。
这是工作脚本:
var regexS = "[\\?&]page=([^&#]*)";
var regex = new RegExp( regexS );
var url = location.href;
var results = regex.exec( url );
if( results != null )
{
url=url.replace("featured", "list");
url=url.replace("page="+results[1], "page=1");
}
window.location.href=url;
这就像一个魅力。