2011-03-11 166 views
0

很多對我以前的問題的答案都有建議,我停止使用幀和iframe並使用DIV。現在我的問題是如何在DIV中包含一個html文件。它看起來並不直接。如何在div中包含html文件?

+0

你想在客戶端使用Javascript還是使用你的服務器端語言來做到這一點? – justkt 2011-03-11 14:15:15

回答

4

應該很容易和簡單。

只需在頁面上加載jQuery並使用load()方法並傳入要加載的文件。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { // this runs as soon as the page is ready (DOM is loaded) 
    $("div") // selecting "div" (you can also select the element by its id or class like in css) 
    .load("path/to/your/file.html") // load in the file specified 
    }); 
</script> 
+0

使用Javascript重新創建幀會給您提供大多數幀的問題,以及一些不同的問題。 **不推薦用於核心內容加載。 – Quentin 2011-03-11 14:14:44

1

通常你會使用某種形式的includemechanismtemplatelanguage

我的選擇是使用Template-Toolkit和the WRAPPER directive將內容封裝在頁面模板中。

但是,div不能替代幀。使用語義上最適合內容的標記。 Div是最後的手段,因爲當有一個元素具有良好的語義。 (儘管如此,它仍然比具有錯誤語義的元素好很多)。

0

我的耳朵,建議停止使用幀/ iframe似乎意味着切換到Ajax。

0

開始使用服務器端語言而不是HTML文件。

PHP's include() function

include("myfile.php"); 

.NET例如:

string file = Server.MapPath("myfile.txt"); 
if(System.IO.File.Exists(file)){ 
    Response.Write(System.IO.File.ReadAllText(file)); 
} 

使用JavaScript加載內容讓你沒有SEO的好處記住。無論如何,使用服務器端語言將爲您打開大門讓您的開發更快。你會立即看到好處。你將開始使用一個包含你的頁眉,頁腳和可能的內容。好處是,不是通過挖掘100個HTML文件來更改標題導航中的1個項目,而只會執行一次,並立即通過網站的其他部分。