2017-08-01 72 views
0

我從網絡服務下載的網站頂部有一個圖片橫幅。我有一個header.html和一個home.html文件,爲了便於編輯,我將header.html代碼導入到home.html文件中。當我運行header.html時,橫幅完美運行,但是當我運行home.html時,它不會。當我檢查元素時,爲橫幅分配了空間,但沒有內容。導入HTML文件後無法加載橫幅

家用代碼

<html> 
<head> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>Saisentan Music</title> 
    <meta name="home page" content="Epic Orchestral Music by Taylor Barton"> 
    <link rel="stylesheet" href="style.css"> 

</head> 

<body> 

    <script src="https://www.w3schools.com/lib/w3.js"></script> 
    <div w3-include-html="header.html"></div> 
    <script>w3.includeHTML();</script> 

    HOME 


</body> 

生病把頭部代碼在下面的鏈接,因爲它很長,難以閱讀(感謝計算機生成的代碼)。在同一份文件都home.html的和header.html中的截圖

https://docs.google.com/document/d/1hWNrjLP11FvTJQgBPa19_NmVn1d5nTr-k1dhqdVwcE0/edit?usp=sharing

回答

1

裏面的功能您正在調用,w3.includeHTML查看頁面上的所有標籤,找到屬性爲w3-include-html的人,嘗試獲取該文件,並將該文件作爲innerHTML插入。腳本不執行。

w3.includeHTML = function(cb) { 
    var z, i, elmnt, file, xhttp; 
    z = document.getElementsByTagName("*"); 
    for (i = 0; i < z.length; i++) { 
    elmnt = z[i]; 
    file = elmnt.getAttribute("w3-include-html"); 
    if (file) { 
     xhttp = new XMLHttpRequest(); 
     xhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      elmnt.innerHTML = this.responseText; 
      elmnt.removeAttribute("w3-include-html"); 
      w3.includeHTML(cb); 
     } 
     }  
     xhttp.open("GET", file, true); 
     xhttp.send(); 
     return; 
    } 
    } 
    if (cb) cb(); 
}; 

您需要調用這些腳本。 This question might help

+0

我敢肯定這是問題...問題是,我不是很好的JavaScript(這就是爲什麼我借用代碼....)所以你有什麼想法如何調用腳本?我讀了另一個答案,但它有點像我的頭 –

+0

如果我使用jquery或類似的東西會自動調用代碼嗎? –

+0

是的,這很公平。最簡單的解決方案是將滑塊代碼保存爲JavaScript文件'slider.js'。在每個頁面中,您可以使用包含'w3.js'代碼的相同方式包含滑塊代碼:''。 [見這裏](https://stackoverflow.com/questions/16677095/what-is-the-right-way-to-write-my-script-src-url-for-a-local-development-envir) –

0

嘗試把這個代碼

<script src="https://www.w3schools.com/lib/w3.js"></script> 

你的身體之前或head標籤

+0

不幸的是,這些想法都沒有奏效。雖然謝謝! –

+0

您是否在使用Google Chrome瀏覽器並打開您的文件,如下所示://home.html? –

+0

是的....它實際上運行通過一個wamp服務器 –

0

看過Sven的衝浪者回答(見下文)後,我意識到我的腳本沒有運行。我用來導入html的js沒有運行腳本,所以我改爲使用Iframe標記導入我的橫幅代碼,並且它完美地工作。