2016-04-27 14 views
0

はChromeブラウザでiframeはFirefoxでのみ正しく表示されませんか?以下

var iframe = document.getElementById('pltc'); 
iframe.contentWindow.document.open('text/htmlreplace'); 
iframe.contentWindow.document.write("<input type='checkbox'/>"); 
iframe.contentWindow.document.close(); 

....私のコードですが、私は、画面上のチェックボックスを取得します。 しかし、Firefoxでは、私は画面上にプレーンhtmlテキストを取得します。

<input type='checkbox'/> 

これは何故ですか?

+2

* document.open *を呼び出すと、ドキュメント全体が消去されます。 doctypeを含む有効な文書を作成してみてください。 BTW、[* open *](http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-72161170)にはパラメータはありません。おそらく有害ではなく、無意味です。 – RobG

+0

あなたの質問に関連するJavaScript/jQuery、CSS、およびHTMLを投稿してください。 [jsFiddle.net](https://jsfiddle.net/)、 [CodePen.io](https://codepen.io/)、 [Plunker]のいずれかまたはすべてを使用してデモを作成します。 [JS Bin](https://jsbin.com/) またはスニペット(テキストエディタのツールバーにある7番目のアイコン、またはCTRL + M)をクリックします。 – zer00ne

答えて

1

openを呼び出すと、さまざまなブラウザで異なるコンパイルが行われます。

クロムでは、レンダリングする前にhtmlコードをiframeに挿入するのに役立ちます。 これはjs-document.writeに似ていますが、これはコード内に正確に必要です。 Firefoxで

、それはレンダリング後のiframeにhtmlコードを注入するのに役立ちます、おそらくJS - body.innerHTML

を私はopenコマンドを削除示唆し、あなたの方法でのコンテンツの仕事かどうかを確認します。

本当に違いはありません。ウェブでSSLまたはhttps //を使用していますか?

関連する問題