获取.js文件中的脚本以加载HTML

时间:2016-02-13 03:14:53

标签: javascript css html5

我在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的其他方式建议我。我只是需要帮助来加载我已经写过的东西。

1 个答案:

答案 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后运行