JS-在线运行代码小工具

原理:window.open()方法,open一个新的空白页,然后把文本框中粘贴的代码通过DOM操作,写到新的代码页中,

再利用document.write的功能(写进去之前把其他的全部删掉,并且写进去的html代码是可以解析的。)完成想要的效果。

window.open打开的新页面也是一个浏览器对象,也具有document.write这个方法;。

 1 <!DOCTYPE html>
 2 <html>
 3     <!--
 4         作者:702004176@qq.com
 5         时间:2017-04-07
 6         描述:在线运行代码小工具
 7     -->
 8     <head>
 9         <meta charset="UTF-8">
10         <title>在线运行代码</title>
11         <meta name="author" content="gjf_xing.org1^"/>
12         <meta name="Description" content="在线运行代码的小工具"/>
13         <meta name="Keywords" content="小工具,代码运行,运行代码,open方法,新页面,在线调试"/>
14     </head>
15     <body>
16         <textarea name="" rows="13" cols="80" id="txt"></textarea>
17         <br />
18         <input type="button" name="" id="btn" value="运行代码" />
19     </body>
20     <script type="text/javascript">
21         window.onload = function(){
22             var oTxt = document.getElementById("txt"),
23                 oBtn = document.getElementById("btn");
24             oBtn.onclick = function(){
25                 var w = window.open("about:blank","_blank");
26                 w.document.write(oTxt.value);
27             };
28         };
29     </script>
30 </html>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

Java程序员的日常 —— 响应式导航Demo

这两天想要做响应式的页面,于是本着重复造轮子的想法,模仿Bootstrap官网,精简了一个响应式导航的Demo。 效果 ? ? ? 代码 <!DOCTYP...

22280
来自专栏懒人开发

Bootstrap学习(1.1)A:navbar导航简单理解

因为自己前端不熟悉,特别是Bootstrap,也只是学习阶段 自己调试,简单记录一些过程

18140
来自专栏前端小叙

小程序实现textarea随输入的文字行数变化高度自动增加

参考链接:https://blog.csdn.net/liuwengai/article/details/78987957

31620
来自专栏微信小程序开发

微信小程序开发-常见问题

知晓程序员,专注微信小程序开发的程序员! 好久没写文章,今天总结一下小程序开发过程中遇到的问题,有不对的地方,欢迎各位指正~ 1、域名必须是HTTPS 非HT...

57390
来自专栏前端侠2.0

draggable 属性 原

昨天是在document上绑定mousedown ,mousemove ,mouseup事件,来实时计算,并设置相应元素的宽度,这是最直接想到的办法,就不再多说...

20510
来自专栏守望轩

Visual Studio 2008 每日提示(十四)

#131、你为什么会把窗体设置成为浮动(模式) 原文链接:Why you would want to make a Tool Window Floating ...

36270
来自专栏游戏杂谈

Bootstrap的表单设计器

如果是内部系统或是自己需要写个简单点的页面,可以直接使用Twitter的Bootstrap,而这个表单器也是非常好用,直接拖拽,设置属性,得到一个很漂亮的表单...

42220
来自专栏web开发

VUE路由去除#问题

最近自己在写一个vue的小型管理系统,在浏览器中看到的路由都是带有#的,很是不好看。为了解决此问题,大家一般都会想到:mode: 'history'。可是在开发...

38640
来自专栏Guangdong Qi

# 微信小程序开发之-基本UI

15120
来自专栏DeveWork

替换WordPress 自带默认的 jQuery库, jQuery库页脚加载

在开发WordPress 主题或者WordPress 插件时候,常常要通过wp_enqueue_script这个钩子挂载WordPress 自带的 jQuery...

265100

扫码关注云+社区

领取腾讯云代金券