【发布时间】:2019-02-25 21:50:55
【问题描述】:
我正在尝试将标签附加到 iframe 中,但 jQuery 似乎会自动删除标签。我做了一些研究,发现这是为了保持 DOM 干净。
有没有办法以某种方式解决这个问题?
我的 HTML 代码:
<div class="card-body">
<div class="sources">
<textarea class="col-md-4 innerbox html editorviewfont"></textarea>
<textarea class="col-md-4 innerbox css editorviewfont"></textarea>
<textarea class="col-md-4 innerbox js editorviewfont"></textarea>
</div>
<div class="col-md-12 innerbox preview editorviewfont">
<iframe id="previewtarget">
<div id="source" contenteditable="true">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
</body>
</html>
</div>
</iframe>
</div>
我的 JavaScript 代码
$(function(){
function GetHtml(){
var html = $('.html').val();
return html;
}
function GetCSS(){
var Css = $('.css').val();
return Css;
}
function GetJS(){
var js = $('.js').val();
return js;
}
$('.innerbox').live("keyup",function(){
var targetp = $('#previewtarget') [0].contentWindow.document;
targetp.open();
targetp.close();
var gethtml = GetHtml();
var getcss = GetCSS();
var getjs = GetJS();
var javascriptinject = document.createElement("script");
javascriptinject.src = getjs;
$('body',targetp).append(gethtml);
$('head',targetp).append('<style>' + getcss + '</style>');
$('head',targetp).append(javascriptinject);
})
});
【问题讨论】:
-
umm
.live()已被弃用 10 年... -
我已经解决了这个问题。除了附加 javascript 外,一切正常
标签: javascript jquery iframe append script-tag