4 回答

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
兩件事情:
請(qǐng)注意,所有元素
<script>
都應(yīng)出現(xiàn)在結(jié)束元素之前的標(biāo)記中</body>
。在每個(gè)頁(yè)面上,僅引用
<script>
該頁(yè)面所需的內(nèi)容
例子:
index.html
<script src="main.js"></script> <script src="index.js"></script> </body> </html>
project.html
<script src="main.js"></script> </body> </html>

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

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

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