2010-04-19 72 views
10

我有一個IFRAME,應該填充來自JavaScript的內容。有了內容是服務器我不得不這樣做是:使用JavaScript中的動態內容填充IFRAME

function onIFrameFill() { 
     myIframe.location.href = "HelloWorld.html"; 
    } 

但我有內容是在客戶端上生成的,並表示爲一個字符串的HTML頁面(我有它沒有太大的影響)。我如何以編程方式填充我的iframe的內容?

回答

21

我認爲你正在尋找的東西,如:

var iframeDoc = myIframe.contentWindow.document; 
iframeDoc.open(); 
iframeDoc.write('hello world'); 
iframeDoc.close(); 
+1

對於我在Chrome版本41.0.2272.76 m中,如果您沒有首先打開()iframeDoc,那麼它會*追加*文本;如果你打開()它清除了iframeDoc和*覆蓋*文本。您可以編寫('加粗'),HTML將被解釋爲標籤。 – 2015-03-04 18:26:32

+0

進一步閱讀在http://stackoverflow.com/a/10433550/1532274 – 2015-07-06 17:51:53

0

什麼.innerHTML

myIframe.innerHTML = "This is some HTML <b>text</b>"; 
+0

我試過,但它沒有奏效。 – user256890 2010-04-19 08:23:54

4

嘗試設置.innerHTML但這不起作用。傑弗瑞解決方案工作。只是想補充一點,myIframe.contentWindow可能無法在舊版瀏覽器工作(讀IE舊版本),所以你可以做

var iFrameWindow = myIframe.contentWindow || myIframe.documentWindow; 
var iFrameDoc = iFrameWindow.document; 

然後使用文件的open(),write()方法& close()方法同上。