我在javascript中编写了一个简单的版权脚本,我已经测试它可以正常工作:
<!DOCTYPE html>
<html>
<body>
<p id="footer"></p>
<script type = "text/javascript">
var initialYear = 2016;
var currentYear = new Date().getFullYear();
var yearYext = "null "
if (initialYear == currentYear)
{
yearText = " " + initialYear + " ";
}
if (initialYear != currentYear)
{
yearText = " " + initialYear + " - " + currentYear;
}
var copyright = {
name : "Elliander Eldridge",
symbol : '\u00A9',
year : yearText,
};
document.getElementById("footer").innerHTML =
"Copyright " + copyright.symbol + " " + copyright.year + " " + copyright.name
+ ". All rights reserved.";
</script>
</body>
</html>
(正如您从运行按钮中看到的那样)
所以我将脚本部分移动到js / site.js(在网站文件的目录树中),并希望在所有页面的页脚中加载它。
问题是两者都没用:
<script src="../js/site.js"></script>
也不是:
<script src="../js/site.js">
<p id="footer"></p>
</script>
什么都没有,我似乎无法找到一种方法来加载它。我也试过把它放在页面的其他部分而没有成功。我甚至尝试将它放在每个页面应该加载的css文件中。
作为旁注,我希望能够从这个文件加载多个脚本,类似于我可能在一个css文件中使用多个css类,但不知道如何在这里执行此操作。
P.S。 - 请不要以javascript的其他方式建议我。我只是需要帮助来加载我已经写过的东西。
答案 0 :(得分:0)
您的js代码在开始时被调用,甚至在加载HTML内容之前它会尝试查找footer
,这显然在页面上不存在。
一旦DOM准备好,即加载HTML
,您需要做的就是调用js<p id="footer"></p>
...
...
// and at the end of the page
<script src="../js/site.js"> </script>
另一个可能有用的提示。把你的js代码放在这个:
$(document).ready(function() {
//put your code here
});
哦,而且,这是不正确的
<script src="../js/site.js">
<p id="footer"></p>
</script>
编辑:
由于您不想使用jquery,请执行以下操作:
document.addEventListener('DOMContentLoaded', function() {
// put your code here
}, false);
这可确保javascript代码仅在加载DOM后运行