从URL中提取页面名称

时间:2017-04-30 12:46:12

标签: javascript bookmarklet

此书签正在按预期工作。

redim newvec(ubound(oldvec,1))
    for i = 1 to ubound(oldvec,1)
    newvec(i) = oldvec(i,3)
next i

但它会将整个网址发送给bing。相反,我只需要发送最后一部分。对于例如如果我在页面上

https://msdn.microsoft.com/en-us/library/aa286483.aspx

然后它应该只向bing发送“aa286483.aspx”。这可能吗?

4 个答案:

答案 0 :(得分:4)



function getFileName(url) {
  return url.split("/").pop();
}
var url = "https://msdn.microsoft.com/en-us/library/aa286483.aspx";
console.log(getFileName(url));




请注意,如果在您的情况下这很重要,您应该注意url参数(例如aa286483.aspx /?id = 2)。我不会在此处包含它,因为您的问题仅与文件名有关。

答案 1 :(得分:3)

window.location.pathname,会返回/en-us/library/aa286483.aspx

直接的做法是:

window.location.pathname.split('/').slice(-1)[0]

答案 2 :(得分:2)

刚读过最后一个路径分隔符?

var url  = window.location.pathname;
var last = url.substr(url.lastIndexOf("/") + 1);

答案 3 :(得分:1)

你可以这样做:

var array = window.location.href.split('/'),
     res = "";

 while(res === "") {
   res = array.pop();
 }

 return res;

如果网址以' /'

结尾,这将阻止您返回空字符串