2017-09-17 18 views
0

iframeに問題があります。 iframeの<body>にHTMLコード(文字列 - 私はDBからそのコードを取得しました)を追加しましたが、そのコードがHTMLのように見えません。iframeの内容はHTMLコードではないテキストです

document.getElementById("iframe_with_content").ready(function() { 
     (document.getElementById("iframe_with_content").contentWindow.document).write("<%= post.text %>"); 
     (document.getElementById("iframe_with_content").contentWindow.document).close(); 
}); 

bug

答えて

1

ページへのjQueryを含めて、

var data = $('<textarea />').html("<%= post.text %>").text(); 
document.getElementById("iframe_with_content").ready(function() { 
     (document.getElementById("iframe_with_content").contentWindow.document).write(data); 
     (document.getElementById("iframe_with_content").contentWindow.document).close(); 
}); 

説明:<%= post.text %>が提供する、あなたのデータが実際にHTMLエンティティでエンコードされました。実際にはsadasds&lt;i&gt;dasd...のようなものがあります。

+0

これは私のために良い作品です。どうもありがとうございました! –

0

これは試してみて、これが動作するかどうかを確認しためEJSによって行わエスケープHTMLの発生する可能性があります。

<%- post.text %> 

は参照してください:How to escape HTML in node.js EJS view?

警告:これらの関数を使用して注意してくださいをXSS攻撃に

をご確認ください。
関連する問題