我遇到iframe问题。我在iframe的<body>
中添加了HTML代码(字符串 - 我从DB获取该代码),但我无法将该代码视为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();
});
答案 0 :(得分: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-entity编码的。所以实际上你有sadasds<i>dasd...
之类的东西。
答案 1 :(得分:0)
这可能是因为ejs尝试html转义并检查是否有效:
<%- post.text %>
参考:How to escape HTML in node.js EJS view?
警告:请小心使用这些功能,请检查XSS攻击