JavaScript <script> 标签未在 iframe 中执行
JavaScript within <script> tags are not being executed in an iframe
我正在构建一个简单的在线 HTML IDE,学生可以在其中将 HTML 键入 codemirror 编辑器,然后在单击按钮时放置 HTML在 iframe 中呈现页面。
我的问题代码:
function runit() {
var prog = myCodeMirror.getValue();
var mypre = document.getElementById("output");
mypre.contentDocument.body.outerHTML = prog;
}
prog
是来自编辑器的 html,mypre
是 iframe。
放置在 <body>
标签中的所有 html 都在 iframe 中正确执行。
<style>
标记内的所有 css 代码都在 iframe 中正确执行。
但是,放置在 <script>
标记中的任何 javascript 都不会在 iframe 中执行。
如何让 <script>
标签内容在 iframe 中正确执行?
这可能有帮助:
const runit = () => document.getElementById("output").srcdoc = myCodeMirror.getValue();
我们使用 属性 srcdoc
将 iframe 中的内容更改为 HTML
我正在构建一个简单的在线 HTML IDE,学生可以在其中将 HTML 键入 codemirror 编辑器,然后在单击按钮时放置 HTML在 iframe 中呈现页面。
我的问题代码:
function runit() {
var prog = myCodeMirror.getValue();
var mypre = document.getElementById("output");
mypre.contentDocument.body.outerHTML = prog;
}
prog
是来自编辑器的 html,mypre
是 iframe。
放置在 <body>
标签中的所有 html 都在 iframe 中正确执行。
<style>
标记内的所有 css 代码都在 iframe 中正确执行。
但是,放置在 <script>
标记中的任何 javascript 都不会在 iframe 中执行。
如何让 <script>
标签内容在 iframe 中正确执行?
这可能有帮助:
const runit = () => document.getElementById("output").srcdoc = myCodeMirror.getValue();
我们使用 属性 srcdoc
将 iframe 中的内容更改为 HTML