我正在使用脚本向URL添加参数,以便与if
语句一起使用以进行布局更改。它适用于这样的结构:
/Computers/Desktops
点击更改布局:
/Computers/Desktops?param=list
和
/Computers/Desktops?param=grid
我正在使用添加参数的文件管理器,然后布局会在以下内容之间发生变化:
/Computers/Desktops?param=list&fss=HP+2GB
并点击:
/Computers/Desktops?param=grid&fss=HP+2GB
这很好用,但我需要让这个工作适用于另一个看起来像这样的结构:
/Computers/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?prodid=30811
在这里,我想在?prodid=30811
之前添加参数,以便在
/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?param=list&prodid=30811
/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?param=grid&prodid=30811
我希望我可以将脚本中的FSS
更改为prodid
,但这不起作用。那么为什么它不起作用,为什么,以及我该如何做呢?我的if
/ else
脚本已经运行,我只需要点击按钮即可找到正确的网址。
$('.click3').on('click', function() {
console.log("Clicked");
var baseUrl = window.location.href.split("?")[0];
var fss = getParametersByName("fss");
var params = getParametersByName("fss");
if (params == "list")
param = "grid";
else
param = "list";
var newUrl = baseUrl + "?param=" + param;
if ((fss).length > 0)
newUrl = newUrl + "&fss=" + fss;
window.location.href = newUrl;
function getParametersByName(name) {
name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
});