“如何创建JavaScript”;你自己试试吧;编辑
我知道有很多“自己尝试”JavaScript编辑器,比如,和“如何创建JavaScript”;你自己试试吧;编辑,javascript,Javascript,我知道有很多“自己尝试”JavaScript编辑器,比如,和 我正在开发一个图形JavaScript库,我想让人们在我自己的网站上试用(与其他编辑器的一个区别是,我的输出将是画布,而不是HTML框架)。不想重新发明方向盘,有没有建立一个“尝试自己动手”能力的方法来考虑诸如DOM脚本漏洞之类的问题? < P>一个简单的设计将是一个包含“代码< > TeTaRea和一个代码> iFrAMe的表单< /代码>的起始页。textarea包含html/css和javascript部分,iframe包含以下
我正在开发一个图形JavaScript库,我想让人们在我自己的网站上试用(与其他编辑器的一个区别是,我的输出将是画布,而不是HTML框架)。不想重新发明方向盘,有没有建立一个“尝试自己动手”能力的方法来考虑诸如DOM脚本漏洞之类的问题? < P>一个简单的设计将是一个包含“代码< > TeTaRea<代码>和一个代码> iFrAMe<代码>的<代码>表单< /代码>的起始页。
textarea
包含html/css和javascript部分,iframe
包含以下结果:
<!--index.html-->
<html>
<form method="post" action="tryit-result.php" target="result">
<button>Try it</button>
<table>
<tr>
<td><textarea name="html"></textarea></td>
<td><textarea name="css"></textarea></td>
</tr>
<tr>
<td><textarea name="js"></textarea></td>
<td><iframe src="tryit-result.php" name="result"></iframe></td>
</tr>
</table>
</form>
</html>
试试看
然后,通过将html/css/脚本保存到文件,然后返回引用这些文件的页面,在服务器上处理提交,如下所示:
<!--tryit-result.php-->
<html>
<head>
<style type='text/css'>
<?php echo file_get_contents('css contents')?>
</style>
<script type='text/javascript'>
$(function() {
<?php echo file_get_contents('js contents')?>
});
</script>
</head>
<body>
<?php echo file_get_contents('html contents')?>
</body>
</html>
$(函数(){
});
首先使用textarea和iframe创建一个简单的html页面:
<html>
<head>
<script type="text/javascript">
function data_submit()
{
document.form1.txt_data.value= document.form1.txt_html.value;
}
</script>
<title>Try It yourself Online Editor</title>
</head>
<body>
<form name="form1" id="form1" method="post" action="" >
<table width="100%" cellspacing="0" cellpadding="0" border="1">
<tr >
<td>
<input type="submit" name="bt_submit" value="Click to Execute " align="top" onClick="data_submit();"/>
</td>
<td align="center">Output</td>
</tr>
<tr>
<td width="50%" >
<input type="text" name="txt_data" value="" style="visibility:hidden;" />
<textarea rows="35" width="90px" height="550px" cols="77" name="txt_html">
</textarea>
</td>
<td width="50%" style="border-width:10px;border-style:none;">
<iframe height="550px" width="100%" src="try_it.php" name="iframe_a"></iframe>
</td>
</table>
</form>
</body>
</html>
编写以下php代码是为了在用户单击submit按钮后显示默认输出和更改的输出
<?php
if(isset($_POST['bt_submit']))
{
echo trim($content);
}
else
{
echo "<html>\n";
echo "<body>\n";
echo "<h1>Hello World!!!</h1>\n";
echo "</body>\n";
echo "</html>\n";
} ?>
现在组合所有代码,您将获得一个简单的“自己尝试”编辑器。这根本不需要2个文件,事实上,这可以很容易地完成: 为简单起见,我只创建了一个textarea,但如果您愿意,可以创建3个textarea,并添加诸如或等前缀
var-val;
功能代码(val){
document.querySelector(“iframe”).srcdoc=val;
}
您可以添加更多的css代码,使其更美观,但这是我试图解释的内容的基本版本。而且,不必担心安全性,因为这是完全安全的。JSFIDLE只需要将您提供的HTML、css和JavaScript加载到iFrame中。类似的是,它谈到了Try-it编辑器,但是没有发展出这样一个编辑:,@David:在你链接到的第二个问题的公认答案中,提供了一个到的链接。也许检查一下这将是一个有帮助的出发点?“马克-我也会这么想,但是后来我遇到了很多“EVA==邪恶”,我有了第二个想法。我也找不到任何确定的方法,但是如果我要重新发明这一轮,我会考虑用JSLint()在将其注入iframe之前,使用此代码是否安全?也许用户输入了一些东西使服务器崩溃!如果你正在键入“代码”文本中的某个东西,这会把错误的JavaScript加载到iFrAME中吗?这是个问题吗?你说的不正确的JavaScript是什么意思?你在文本中所写的任何东西都会在iFrAME中被看到,并且被当作一个完全不同的页面。
<?php
if(isset($_POST['bt_submit']))
{
echo trim($content);
}
else
{
echo "<html>\n";
echo "<body>\n";
echo "<h1>Hello World!!!</h1>\n";
echo "</body>\n";
echo "</html>\n";
} ?>
<body>
<textarea id="code" oninput="putcode(this.value)">
</textarea>
<iframe frameborder="0"></iframe>
<script>
var val;
function putcode(val){
document.querySelector("iframe").srcdoc=val;
}
</script>
</body>