有人可以推薦一種方法從使用JavaScript的URL獲取頁面名稱嗎?使用javascript獲取頁面url
舉例來說,如果我有:
http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
我只需要得到 「news.html」 串
謝謝!
有人可以推薦一種方法從使用JavaScript的URL獲取頁面名稱嗎?使用javascript獲取頁面url
舉例來說,如果我有:
http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
我只需要得到 「news.html」 串
謝謝!
您可以通過window.location.pathname
解析做到這一點很容易地:
var file, n;
file = window.location.pathname;
n = file.lastIndexOf('/');
if (n >= 0) {
file = file.substring(n + 1);
}
alert(file);
......或者像其他人所說的那樣,你可以在一行中使用正則表達式。一條有點密集的線條,但有一條評論,它應該是一個很好的途徑。
+1我對正則表達式的力量印象深刻,但我無法讀懂它們。 –
var url = "http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3";
url = url.replace(/^.*\//, "").replace(/\?.*$/, "");
您可以window.location
作爲一個說明得到的字符串,這樣做window.location.replace(/^.*\//,「」).replace(/\?.*$/,「」);會重定向你。 – contactmatt
替代url
我認爲這是
window.location.pathname.replace(/^.*\/([^/]*)/, "$1");
所以,
var pageTitle = window.location.pathname.replace(/^.*\/([^/]*)/, "$1");
你可能也想找到文件路徑在本地磁盤上, ,你可能不希望包括任何哈希值或路徑 -
String.prototype.fileName= function(){
var f, s= this.split(/[#\?]/, 1)[0].replace(/\\/g,'/');
s= s.substring(s.lastIndexOf('/')+ 1);
f= /^(([^\.]+)(\.\w+)?)/.exec(s) || [];
return f[1] || '';
}
我喜歡TJ的解決方案 – Alex