我正在制作一个带有程序编辑器的网站,供用户制作 HTML 程序。我通常通过输入<script> alert("Hi!"); </script>
到body
输入区域来测试它,但没有警报出现。从代码中可以看出,结果是脚本在div
. 那么script
s 在div
s 中起作用吗?如果他们这样做,这是我的代码(至少是重要的部分):
这是我按下“运行!”时要运行的脚本。按钮:
<script>
function onclick(){
document.getElementsByTagName("head")["0"].innerHTML += eval(document.getElementById("editorHead").value);
document.getElementById("result").innerHTML = eval(document.getElementById("editorBody").value);
}
</script>
这是输入区域和运行按钮的代码(省略它们之间的文本和类属性):
<textarea id="editorHead" rows="20"></textarea>
<textarea id="editorBody" rows="20"></textarea>
<div id="result"></div>
<button onclick="onclick();">Run!</button>
我尝试将onclick
' 的名称更改为run
,这使得点击工作(在此之前,当你点击它时按钮不会变成蓝色),但就是这样。