本文介绍如何在 JavaScript 中实现代码在线运行功能,解决部分场景下结果不显示的问题。核心方法是通过 window.open 打开新窗口并写入代码后,调用 newwin.location.reload() 强制刷新页面,确保最终渲染结果正确显示。
JavaScript 代码运行与自动刷新实现
目前许多网站都提供了“运行代码”的功能,例如本站早期也已实现该功能。但在近期开发项目中,发现部分情况需要手动刷新才能看到执行结果。经过调试,发现解决方法非常简单,具体代码如下:
function runCode(cod1) {
cod=document.getElementById(cod1)
var code=cod.innerText;
var newwin=window.open('','','');
newwin.opener = null;
newwin.document.write(code);
newwin.location.reload();
newwin.document.close();
}
关键步骤在于添加以下代码:
newwin.location.reload();