我写了一个下面的代码来返回用户友好的页面标题 但问题是每次页面加载(同时都是url)页面标题“Web Page 1”返回。下面我给了2个网址
function(){
var pageTitle = document.title;
try{
if(/\/xyx\-abc\- result(\/|)$/i.test(location.pathname)){
pageTitle = "Web Page 1";
}
else if(/\/xyx\-abc\-result\/pqr\-mno\-efg\-lmn(\/|)$/i.test(location.pathname))
{
pageTitle = "Web Page 2";
}
} catch(err){}
return pageTitle;
}
页面网址1)http://sports.com/xyz-abc-result
Page Url 2)http://sports.com/xyz-abc-result/pqr-mno-efg-lmn
有人可以建议需要做哪些更改
答案 0 :(得分:0)
尝试使用.split()
,.slice()
var loc = location.href.split("-").slice(-1)[0];
document.title = loc === "result"
? "Web Page 1"
: loc === "lmn"
? "Web Page 2" : document.title;
答案 1 :(得分:0)
你的正则表达式有一些缺陷。首先在第一个空间中有一个空格,其次在路径有xyz时搜索xyx
如果我使用此代码,它的工作方式应该是:
var pageTitle = document.title;
var pathname = "/xyz-abc-result/pqr-mno-efg-lmn";
try {
if (/\/xyz\-abc\-result(\/|)$/i.test(pathname)) {
alert("Web Page 1");
} else if (/\/xyz\-abc\-result\/pqr\-mno\-efg\-lmn(\/|)$/i.test(pathname)) {
alert("Web Page 2");
}
} catch (err) {}
return pageTitle;
如果你像这样运行它,它会提示" Web Page 2"。如果您将路径名更改为http://sports.com/xyz-abc-result
,则会提示"网页1"