【发布时间】:2015-03-13 11:03:03
【问题描述】:
我通过单个外部 .js 文件在整个网站中使用 window.onload 函数,并且我通常会检查我在哪个页面上,以便运行某些语句,例如:
window.onload = function() {
var curPage = document.getElementById('page').value;
if (curPage === "index.html") {
// do something here
}
if (curPage === "about.html") {
// do something else here
}
}
'curPage' 是每个 html 文档中输入的值
<input id="page" type="hidden" value="my-page.html" />
我看到人们在 body 元素中添加一个 id 来达到同样的效果,像这样:
<body id="pageisIndex">
但是,我想知道是否有更好的方法来初始化/提取 HTML 文档中的变量,而无需使用输入或元素 ID。
会不会像...
<script type="text/javascript">
var curPage === 'index.html';
</script>
...在使用外部 .js 文件的同时可以使用/正确吗?
编辑:
提供的所有答案都非常好,我相信这是归结为个人意见的时代之一;但是,使用 location.pathname 或 document.URL 是我将要测试的好方法。太棒了!
编辑 2:
我发现了一些很酷的东西,我想我会在这里发布,下面是路径中的最后一页。
page = location.pathname.split('/').pop();
console.log(page);
【问题讨论】:
-
您可以使用
document.title,前提是您在所有 html 文件中进行了适当的设置。
标签: javascript html