当前位置:主页 > JS代码 >
在线运行HTML/JS代码_JS代码
时间:2013-02-21 18:41来源:网络作者:admin点击:
简介:经常没事儿到蓝色理想的论坛闲逛,时间长了,尤其注意到了论坛里贴出来的代码不仅能够修改而且能够在线运行,代码显示在textarea中,下边有三个按钮“运行代码”、“复制代码”、“另存代码”,点击“运行代码”就能在新窗口中运行textarea中的HTML/JS代码,
经常没事儿到蓝色理想的论坛闲逛,时间长了,尤其注意到了论坛里贴出来的代码不仅能够修改而且能够在线运行,代码显示在textarea中,下边有三个按钮“运行代码”、“复制代码”、“另存代码”,点击“运行代码”就能在新窗口中运行textarea中的HTML/JS代码,当然也可以修改后在线运行。





翻看了蓝色的代码终于弄明白了其中的奥秘,除此之外,我还给它加上了“剪切代码”、“粘贴代码”和“清空代码”的功能,从而使得我们能够更加方面的在线测试代码。

核心HTML代码:
1
2
3
4
5
6
7
<textarea name="text" id="runcode0" cols="72" rows="9"></textarea>
<input type="button" value="运行代码" onClick="runcode(runcode0)" class="sumit">
<input type="button" value="保存代码" onClick="savecode(runcode0)" class="sumit">
<input type="button" value="复制代码" onClick="copycode(runcode0)" class="sumit">
<input type="button" value="剪切代码" onClick="cutcode(runcode0)" class="sumit">
<input type="button" value="粘贴代码" onClick="pastecode(runcode0)" class="sumit">
<input type="button" value="清空代码" onClick="document.form1.text.value='';" class="sumit">

核心Javascript代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<script type="text/javascript" language="javascript">
var is_ie=document.all;
//运行代码
function runcode(obj) {
	var winname=window.open('',"_blank",'');
	winname.document.open('text/html','replace');
	winname.opener=null;
	winname.document.write(obj.value);
	winname.document.close();
}
//复制代码
function copycode(obj) {
	if(is_ie && obj.style.display!='none') {
		var rng=document.body.createTextRange();
		rng.moveToElementText(obj);
		rng.scrollIntoView();
		rng.select();
		//or target=obj.createTextRange();
		rng.execCommand("Copy");
		rng.collapse(false);
	}
}
//另存代码
function savecode(obj) {
	var winname=window.open('','_blank','top=10000');
	winname.document.open('text/html','replace');
	winname.document.write(obj.value);
	winname.document.execCommand('saveas','','code.htm');
	winname.close();
}
//剪切代码
function cutcode(obj) {
	if(document.all) {
		textRange=obj.createTextRange();
		textRange.execCommand("cut");
	} else {
		alert("IE only!");
	}
}
//粘贴代码
function pastecode(obj) {
	if(document.all) {
		textRange=obj.createTextRange();
		textRange.execCommand("paste");
	} else {
		alert("IE only!");
	}
}
</script>
(责任编辑:93diy)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------