从 URL 中提取页面名称

Extract page name from URL

此小书签按预期工作。

javascript:{window.location='http://bing.com/search?q='+encodeURIComponent(window.location.href)}

但是它将整个 URL 发送到 bing。相反,我只需要发送最后一部分。例如如果我在页面上

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

那么它应该只发送 "aa286483.aspx" 到 bing。这可能吗?

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)。我不在这里包括它,因为你的问题只是关于文件名。

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

直接的方法是:

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

你可以做到:

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

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

 return res;

如果 URL 以 '/' 结尾,这将阻止您返回空字符串

刚刚读过了最后一个路径定界符?

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