Ai đó có thể đề xuất cách lấy tên trang từ url bằng JavaScript?Nhận url trang bằng cách sử dụng javascript
Ví dụ nếu tôi có:
http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
tôi chỉ cần để có được "news.html" chuỗi
Cảm ơn!
Ai đó có thể đề xuất cách lấy tên trang từ url bằng JavaScript?Nhận url trang bằng cách sử dụng javascript
Ví dụ nếu tôi có:
http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
tôi chỉ cần để có được "news.html" chuỗi
Cảm ơn!
Bạn có thể làm được điều này khá dễ dàng qua window.location.pathname
phân tích cú pháp:
var file, n;
file = window.location.pathname;
n = file.lastIndexOf('/');
if (n >= 0) {
file = file.substring(n + 1);
}
alert(file);
... hoặc như những người khác đã nói, bạn có thể làm điều đó với một regexp trong một dòng. Một dòng khá dày đặc, nhưng với một bình luận ở trên nó, phải là một cách tốt để đi.
+1 Tôi ấn tượng với sức mạnh của regex, nhưng tôi không đọc được. –
var url = "http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3";
url = url.replace(/^.*\//, "").replace(/\?.*$/, "");
Bạn có thể thay thế url
với window.location
Là một lưu ý, làm window.location.replace (/^.*\//, "") .replace (/\?.*$/, ""); sẽ chuyển hướng bạn. – contactmatt
Tôi nghĩ đó là
window.location.pathname.replace(/^.*\/([^/]*)/, "$1");
Vì vậy,
var pageTitle = window.location.pathname.replace(/^.*\/([^/]*)/, "$1");
Tôi nghĩ rằng bạn cần phải thoát khỏi dấu gạch chéo ở đó. :) –
vâng tôi hiểu - cảm ơn !! – Pointy
Rất tuyệt! Tôi không bao giờ biết về 'pathname'! –
Bạn có thể muốn cũng phải tìm đường dẫn tập tin trên đĩa cục bộ, và bạn có thể không muốn bao gồm bất kỳ băm hoặc nhận chuỗi trong path-
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] || '';
}
Tôi thích giải pháp TJ của – Alex