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

时间:2013-05-17 14:26:29

标签: javascript html

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

e.g。 html document = "indexOLD.html"

的名称

9 个答案:

答案 0 :(得分:106)

var path = window.location.pathname;
var page = path.split("/").pop();
console.log( page );

答案 1 :(得分:24)

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

var fileName = location.href.split("/").slice(-1); 

...或

var fileName = location.pathname.split("/").slice(-1)

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

<强> JS:

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

<强> CSS:

a.current_page { font-size: 2em; color: red; }

答案 2 :(得分:8)

试试这个

location.pathname.substring(location.pathname.lastIndexOf("/") + 1);

location.pathname给出页面url的部分(不包括域)。要获取文件名,您必须使用子字符串方法将其公开。

答案 3 :(得分:4)

答案 4 :(得分:3)

使用window.location.pathname获取当前页面网址的路径。

答案 5 :(得分:1)

获取文档名称

location.href.split("/").pop().split("?").shift();

带查询字符串

location.href.split("/").pop()

答案 6 :(得分:0)

使用尾部斜杠的单个语句。如果您使用的是IE11,则必须enter image description here filter功能。

var name = window.location.pathname
        .split("/")
        .filter(function (c) { return c.length;})
        .pop();

答案 7 :(得分:0)

@Ethan 的解决方案正是我所需要的,但我不得不做出一些改变。即, toDelete 数组中的元素没有考虑从数组段中删除元素会减少它们的数量。所以这是我的两便士:

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

答案 8 :(得分:0)

const page = location.href.split("/").slice(-1).toString().replace(".EXTENSION", "").split("?")[0];

这将获得页面名称,同时删除扩展名(如 .html 或 .php)并最终获得所有参数,如 (?id=1)。如果您没有扩展名,您可以删除 replace() 部分,否则将 .EXTENSION 替换为您首选的扩展名。