从 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);
此小书签按预期工作。
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);