簡體   English   中英

在.js文件中獲取腳本以在HTML中加載

[英]Getting script in .js file to load in HTML

我用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 : '\©', 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類的方式,但是不確定如何在此處執行此操作。

PS-請不要建議我用JavaScript編寫此文字的其他方法。 我只需要幫助就可以加載已寫的內容。

甚至在加載HTML內容之前,您的js代碼就會在開始時被調用,並且它會嘗試查找footer ,而footer顯然尚不存在於頁面上。

您只需要做的就是調用js,一旦DOM准備就緒即加載HTML

<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);

這樣可以確保僅在加載DOM之后運行javascript代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM