我正在创建一个检测并返回页面名称的脚本。 但是,当存在查询字符串时,它不会返回“url_segment”所需的值。
有人可以告诉我如何删除查询字符串并返回变量“url”和“url_segment”的值
// http://test.com/action
// http://test.com/action/all
// http://test.com/action/all?page=2
function return_page_name()
{
var url = $(location).attr("href").split("/")[3]; // returns "action"
var url_segment = $(location).attr("href").split("/")[4]; // returns "all" (if selected)
if(url === "")
{
page = "homepage";
}
else if(url === "signup") {
page = "sign-up";
}
return page;
}
答案 0 :(得分:0)
您可以使用此代码:
function Q() {
var q={};
var a=window.location.search.substring(1);
var b=a.split("&");
for (var i=0;i<b.length;i++) {
var c=b[i].split("=");
q[c[0]]=c[1];
}
return q;
}
这样你就可以执行它并获得一个包含查询字符串的Object,就像你使用PHP一样。
答案 1 :(得分:0)
function getLastUrlSegment() {
return window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1);
}
// http://test.com/action
window.location.pathname == '/action'
getLastUrlSegment() == 'action'
// http://test.com/action/all
window.location.pathname == '/action/all'
getLastUrlSegment() == 'all'
// http://test.com/action/all?page=2
window.location.pathname == '/action/all'
getLastUrlSegment() == 'all'