就是博客里插入了一段 html 代码,如何在这段代码下面添加一个运行代码段的功能呢
![]() | 1 sobranie 2016-09-23 14:20:07 +08:00 使用 jslint 的插件 |
![]() | 2 codespots 2016-09-23 16:15:03 +08:00 分分钟写一个出来: <textarea id="code" cols="40" rows="10"></textarea><br> <input type="button" value="运行代码" id="run"> <script> window.Onload=function(){ var run=document.getElementById('run'); var code=document.getElementById('code'); run.Onclick=function(){ var win=window.open('about:blank','_blank'); win.document.write(code.value); //强制从缓存区输出内容 win.document.close(); } } </script> |
3 newbieo0O 2016-09-23 17:37:29 +08:00 那太老土了。 接入 codepen |
![]() | 4 bombless 2016-09-23 17:58:00 +08:00 在想怎样能更安全…… 一个选择是在代码中找出所有的疑似标识符的东西,然后造出一个以这些标识符为键的对象,把代码都放在一个 with 这个对象的块里面 要么是在 window 下找出所有的键,然后造出一个以这些键为键的对象,把代码都放在一个 with 这个对象的块里面 感觉前一种做法最经济,当然最好是同时限制代码的长度 |
![]() | 5 bombless 2016-09-23 18:08:52 +08:00 啊前一种的话要把 eval 作为特例加进去 |