2009-11-24 84 views
1

我需要使用JavaScript將多個HTML內容插入到文檔中。什麼是最好的方法來做到這一點?我不想讓它在源代碼中一行一行地分解出來,並不是所有的東西都放在一個字符串中。使用JavaScript將大量HTML內容插入到文檔中

+1

提供一些信息上你試圖完成什麼,爲什麼會幫助別人給你一個很好的答案。 – samg

+0

是的,請提供更多信息。有很多方法可以做到,但如果有更多的信息,我們可以更具體。 –

回答

0

最好的方法是不要這樣做。

將這些文件放入靜態html文件中,並將其鏈接。

+0

對不起,我需要弄清楚如何動態地做到這一點 – Mark

1

讓您的Javascript代碼向包含該腳本的文件的Web服務器發出AJAX請求。當AJAX請求返回時,將回復的內容寫入文檔(或包含文本的文檔子文件)上的InnerHTML成員。

This page給出了一個恰到好處的示例 - 只需用包含要包含的內容的靜態文件替換CGI即可。

0

使用可以使用jquery。例如:

如果您有ID =「側邊欄」的div。用jQuery加載html內容:

$(「#Sidebar」)。HTML(「whatever html content」);

http://docs.jquery.com/Attributes/html

您可以使用jQuery AJAX方法來異步獲取內容,然後用上面的方法將其加載到HTML。

http://docs.jquery.com/Ajax

0

您可以使用iframe來加載HTML和JS使用取其中的一部分在您的主頁。

本頁(main.html中)...

<html> 
<head> 
    <title>Main</title> 
</head> 
<body> 
    <iframe id="loader" style="display:none"></iframe> 
    <div id="target"></div> 
    <script> 
     function read(b){ 
      document.getElementById('target').innerHTML = b.innerHTML; 
     }; 
     var ifr = document.getElementById('loader'); 
     ifr.src = 'testIfrLoad.html#read'; 
    </script> 
</body> 
</html> 

......加載這個(testIfrLoad.html)的內容:

<html> 
<head> 
    <title>testIfrLoad</title> 
    <script> 
     function send(){ 
      top[window.location.hash.substr(1)](document.body); 
     } 
    </script> 
</head> 
<body onload="send()"> 
    <p>Some content</p> 
    <p>Some content</p> 
    <p>Some content</p> 
</body> 
</html> 
相關問題