javascript - 如何创建 JavaScript "Try It Yourself"编辑器

标签 javascript

我知道有很多“自己试一试”的 JavaScript 编辑器,比如 W3School's Try It editor , JSBin , 和 JSFiddle .

我正在开发一个图形 JavaScript 库,我想让人们在我自己的网站上试用(与其他编辑器的一个区别是我的输出是 Canvas ,而不是 HTML 框架)。不想重新发明轮子,是否有既定的方法来创建考虑基于 DOM 的脚本漏洞等问题的“自己尝试”功能?

最佳答案

一个简单的设计是一个带有 form 的起始页,其中包含三个 textarea 和一个 iframetextarea 包含 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/scripts 保存到文件然后返回引用这些文件的页面,在服务器上处理提交,如下所示:

<!--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>

关于javascript - 如何创建 JavaScript "Try It Yourself"编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8794998/

相关文章:

javascript - Angular for 循环返回最后一个值

javascript - Node.js 如何将 geojson 从 mongodb 传递到我可以在前端使用的对象

javascript - AngularFire 检查是否存在相同标题的项目

javascript - 通过 Ajax PHP 从 Javascript onClick 更新数据库

javascript - 响应中的日期格式

javascript - 如何通过 css 或 javascript 甚至使用 jquery 在 html 中扩展悬停的缩写词?

javascript - 如何在 Jade 中为每个项目呈现一个具有不同 javascript 函数的列表?

javascript - Angular1.6工厂

javascript - TwentyTwenty 隐藏后点击显示没有高度

javascript - 这个定时器有什么问题[JS]