从textarea编辑Javascript

时间:2014-02-04 02:01:05

标签: javascript html css

我设法在http://hexagonest.tk/code/创建了一个HTML / CSS编辑器,但我无法管理它来运行Javascript。我不确定为什么,所有代码都有效。例如,转到this jfiddle,然后输入以下代码:

<script>
function dothis(){
 document.getElementById("thewow").innerHTML = "poop!";
}
</script>
<button type="button" onclick="dothis()">Hi</button>
<p id="thewow">Hi</p>

从理论上讲,它应该有效,是吗?即使我右键单击&gt;检查元素,它也会显示有效标记。这有什么问题?

如果你没有抓住它,我的问题是Javascript现在正在使用我的实时HTML编辑器。

2 个答案:

答案 0 :(得分:0)

您应该使用JavaScript中的eval()函数。

此处提供更多文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval

然后你应该有一个JavaScript表单和另一个表单。

请注意使用eval()(XSS漏洞等)可能遇到的安全问题。

答案 1 :(得分:0)

试试这个

<button type="button" onclick="document.getElementById('thewow').innerHTML = 'poop!'">try me</button>

--- --- addtional

使用此脚本来播放您的代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<style type="text/css">
textarea, iframe {width:200px;height:200px;}
td {vertical-align:top;text-align:center;}
</style>

<script type="text/javascript">
function tryit()
{
var html = document.getElementById("code").value;

ifrm = document.getElementById("output");
var doc = ifrm.contentDocument || ifrm.contentWindow.document;
doc.open();
doc.write(html);
doc.close();
}
</script>
</head>

<body>

<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td>
<textarea id="code"><html><body>Hello World!</body></html></textarea>
<br />
<button onclick="tryit();">Do it!</button>
</td>
<td>
<iframe id="output"></iframe>
</td>
</tr>
</table>

</body>
</html>

来源http://w3schools.invisionzone.com/index.php?showtopic=23599