如果要控制它們,則應將新窗口和iframe的源設置為“about:blank”。 然后通過iframe的ID引用它!
您還想使用iframe.contentDocument || iframe.contentWindow.document
iframe.contentDocument || iframe.contentWindow.document
在你寫'()之前'打開()'文件可能是個好主意。
更新:忘了這個:如果你打開窗口關於:空白,它需要時間加載..所以你不能馬上寫! 因此要么設置超時約50ms(通常),然后寫入新窗口/ iframe。
或檢查它是否已加載(onload),然后讓它寫入源(我更喜歡這個)。
如果您需要重復使用iframe,請將其設置為about:blank first(再次)並等待或再次檢查onload,然后再次寫入幀。 所有這一切都歸功於xss安全性。
我還強烈建議使用傳統的事件模型(因此沒有addEvent的東西,它們不能像預期的crossbrowser一樣工作並導致IE中的memoryleaks)。
所以:創建iframe並將src設置為about:blank,添加一個onload函數來檢查包含你的html-string的var:如果它是空的,否則:將它寫入iframe並清空字符串。
要更新iframe:將內容設置為包含html-string的var,然后將iframe的源設置為about:blank。
了解循環?
這個寶寶甚至可以在IE6中使用......
祝好運!!
更新:你沒有正確地逃避你的代碼片段:應該是: <script>document.writeln('test')\\<\\/script>
見: jsfiddle
UPDATE2:argl ..我通常都不會放棄,但由於我不關心jQuery,我不會通過jQuery手冊來獲取像jQuery這樣簡單的東西(對不起)。 出於現代(蹩腳)的安全原因,您需要一個:空白。 期。
請參閱這個更新的小提琴 ,了解工作中的“簡單jane”基礎知識,然后了解如何在jquery中進行操作並做出選擇:onload或setTimeout。 我正在使用我自己的crossbrowser html-editor,這個主題需要花費一周的時間來搞清楚。