4 回答

TA貢獻1878條經驗 獲得超4個贊
兩件事情:
請注意,所有元素
<script>
都應出現在結束元素之前的標記中</body>
。在每個頁面上,僅引用
<script>
該頁面所需的內容
例子:
index.html
<script src="main.js"></script> <script src="index.js"></script> </body> </html>
project.html
<script src="main.js"></script> </body> </html>

TA貢獻1830條經驗 獲得超9個贊
在我們做任何事情之前,先清除緩存。(重要的)
如果你確定你做的一切都是正確的,就像@Rounin 回答建議的那樣,然后再次運行你的代碼,檢查以確保你的錯誤來自 index.js,如果是,那么你正在以某種方式將 index.js 注入頁面不知道,(可能在你身體中間的某個地方或其他地方),你可能需要做一個比僅僅詢問更徹底的調試。而且很可能您沒有告訴我們所有事情,因為您可能沒有意識到這一點。
嘗試在您的 project.html 腳本中搜索任何出現的 index.js。(Ctrl+F)
現在,如果一切都失敗了并且你必須快速前進,那么你可以在你的 index.html 和 index.js 腳本上嘗試這個 hack。
索引.html
<script> var page = "index" </script>
把它放在第 1 行之前,因為我不知道哪一行可能會引起你的問題
然后在index.js上用 if 語句包裝你的代碼(即放置 if 語句來檢查頁面是否=“索引”以防止不需要的代碼在其他頁面上運行
例如:
If (typeof page !== undefined && page == "index") { // allow code to execute }
這是一個骯臟的 hack,但它可能會讓你繼續前進,直到你找到更有經驗的工程師來調試你的代碼......

TA貢獻1804條經驗 獲得超2個贊
例子:
index.html 需要 main.js 和 index.js project.html 只需要 main.js 中的某個函數
所以 main.js
function functionsThatIndexNeeds() {
alert('Im in index.html!!!');
}
function functionsThatProjectNeeds() {
alert('IM IN PROJECTS~~~');
}
索引.html
<script>functionsThatIndexNeeds()</script>
項目.html
<script>functionsThatProjectNeeds</script>
關鍵是只調用每個 HTML 文件需要的函數。
告訴我這對你有用嗎!:)

TA貢獻1847條經驗 獲得超7個贊
顯然,您必須在 main.js 中引用 index.html 中的 DOM 部分。停止引用那些,你會沒事的。請注意,如果我DIV
在 index.html 中有foo
一個 project.html 沒有的 ID,那么您可以使用document.querySelectorAll()
函數來檢查該元素是否存在(可以查看length
,從中返回,以及其他選項,例如undefined
),并且如果它不存在則做出反應。這可以幫助您區分 index.html 和 project.html 中的項目。
添加回答
舉報