我有一个带有一些示例代码的div。我想在按下按钮后执行此代码。这是我尝试过的:
HTML
<button onclick="javascript:playcode()"> </button>
JS
function playcode () {
var execcode= "";
for (i=1; i<=countCodeLine (); i++)
execcode += document.getElementById("line"+i).innerText;
var div= document.getElementById ("mydiv");
var scr= document.createElement ('script', "");
div.innerHTML= "play() {"+execcode+"}";
div.appendChild(scr);
play();
}
但它不起作用。我怎么能这样做?
更新:此处来自控制台的错误:
(line 9: pre.appendChild(scr)) Uncaught SyntaxError: Unexpected token {
(line 10: play()) Uncaught TypeError: object is not a function
答案 0 :(得分:1)
如果您确实将正确的HTML添加到execcode中,则可以使用
eval(execcode);
您只需执行简单的console.log(execcode)
或alert(execcode)
即可验证是否已正确加载。
但是,我可以向您保证,几乎肯定是一个非常非常糟糕的主意。对于某人来说,编辑你的DOM并插入他们想要的任何恶意javascript都是微不足道的。