8

他のサイトに埋め込むことができるウィジェットを作成しています。ウィジェットは を使用して作成された iframe ですが、document.write()javascript を使用して iframe doctype を適用する方法がわかりません。

これが私のコードです:

document.write("<iframe scrolling=\"no\" frameborder=\"0\">");
document.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"   \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
document.write("<html>");
document.write("<head></head><body></body>");
document.write("</html>");
document.write("</iframe>");
document.write("</div>");

iframe は作成されますが、doctype は適用されません。これを行う方法はありますか?

ありがとう

4

2 に答える 2

16

に書き込むにはiframe、最初にそれを作成し、ドキュメントに添付してから、その内部に到達してそのハンドルを取得する必要がありますcontentDocument

サンプルコードは次のとおりです。

// create the iframe and attach it to the document
var iframe = document.createElement("iframe");
iframe.setAttribute("scrolling", "no");
iframe.setAttribute("frameborder", "0");
document.body.appendChild(iframe);

// find the iframe's document and write some content
var idocument = iframe.contentDocument;
idocument.open();
idocument.write("<!DOCTYPE html>");
idocument.write("<html>");
idocument.write("<head></head>");
idocument.write("<body>this is the iframe</body>");
idocument.write("</html>");
idocument.close();

// now have a look at your creation in the console
console.log(idocument);

このjsfiddleで動作することを確認してください。

于 2013-01-12T01:10:16.907 に答える
2

HTML5srcdoc属性を使用して、iframe のコンテンツを指定することもできます。

document.getElementById('myFrame').srcdoc = "<!DOCTYPE html PUBLIC....";

srcdocがブラウザでサポートされているかどうかを確認する必要があります。

于 2015-02-19T10:54:04.460 に答える