如何在Javascript中获取html页面的名称?

pro*_*mer 55 html javascript

我有一个HTML页面,我想在html页面内通过Javascript检索html文档的名称.那可能吗?

例如html的名字 document = "indexOLD.html"

Dan*_*nda 114

var path = window.location.pathname;
var page = path.split("/").pop();
console.log( page );
Run Code Online (Sandbox Code Playgroud)

  • 这是另一个用例@Damon,如果这是一个问题,请添加page.split('#').shift(); (3认同)
  • 如果 url 上有尾部斜杠(在路由伪装实际文件名的情况下),这将不起作用 (2认同)

Hug*_*lpz 28

当前页面:可以做得更短.这条单线声音更加优雅,可以找到当前页面的文件名:

var fileName = location.href.split("/").slice(-1); 
Run Code Online (Sandbox Code Playgroud)

要么...

var fileName = location.pathname.split("/").slice(-1)
Run Code Online (Sandbox Code Playgroud)

这很容易定制导航框的链接,因此当前的链接是由CSS类启发的.

JS:

$('.menu a').each(function() {
    if ($(this).attr('href') == location.href.split("/").slice(-1)){ $(this).addClass('curent_page'); }
});
Run Code Online (Sandbox Code Playgroud)

CSS:

a.current_page { font-size: 2em; color: red; }
Run Code Online (Sandbox Code Playgroud)

  • 这实际上是一个只有一个元素的数组,如果你直接使用 location.pathname.split("/").slice(-1) 就像在 location.pathname.split("/").slice(-1).includes( “老的”) (2认同)
  • 我喜欢使用 location.href.split("#")[0].split("?")[0].split("/").slice(-1) 来删除 queryString 和哈希值 (2认同)

Gau*_*g P 9

试试这个

location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
Run Code Online (Sandbox Code Playgroud)

location.pathname给出页面url的部分(不包括域).要获取文件名,您必须使用substring方法将其夸大.


Nea*_*eal 5

用于window.location.pathname获取当前页面 URL 的路径。

  • 这提供了完整的网址,而不是页面的名称。 (2认同)

Eth*_*han 5

即使 url 以 结尾,这也会起作用/

var segments = window.location.pathname.split('/');
var toDelete = [];
for (var i = 0; i < segments.length; i++) {
    if (segments[i].length < 1) {
        toDelete.push(i);
    }
}
for (var i = 0; i < toDelete.length; i++) {
    segments.splice(i, 1);
}
var filename = segments[segments.length - 1];
console.log(filename);
Run Code Online (Sandbox Code Playgroud)