【发布时间】:2014-08-09 03:54:54
【问题描述】:
我试过this,但没用。
这是我的代码:JSFiddle
<script src='jquery.js' type='text/javascript'></script>
<div id="body">
<textarea id="html"></textarea>
<textarea id="javascript"></textarea>
<textarea id="css"></textarea>
<iframe id='result'>
</iframe>
</div>
<script>
var iframe_ = $("iframe#result")[0].contentDocument.document;
console.log(iframe_);
var iframe = $("body", iframe_);
var script = document.createElement( 'script' );
script.type = 'text/javascript';
iframe.append(script)
iframe.append("<style type='text/css'></style><div id='r'></div>");
$("div#body").css({
background: "#f0f0f0",
padding: "5px",
width: "80%"
});
$("iframe#result, textarea#html, textarea#css, textarea#javascript").css({
width: "45%",
margin: "2.5px",
height: "250px",
border: "1px solid #ccc",
resize: "none",
background: "#fff"
}).on("keyup", function(){
iframe.find("script").text = $("textarea#javascript").val();
iframe.find("style").html($("textarea#css").val());
iframe.find("div#r").html($("textarea#html").val());
});
</script>
我的问题是我想将 html 附加到 iframe 但它不起作用。它总是将 html 添加到 iframe 之外。
【问题讨论】:
-
这里有一个很棒的教程,告诉你如何做你想做的事:code.tutsplus.com/tutorials/…。非常简洁易懂……在我的一个项目中使用它。
-
var iframe = $("iframe#result").contents().find("body"); -
小心添加新元素的方式 - 您当前的设置看起来会不断添加新块,而不是更新现有块,这会导致您进一步出错
标签: javascript jquery html css iframe