网页中点击运行执行代码
//获取一个对象 function getByid(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } else { return null; } } //运行框操作 function creatID(DivID){ var objs=getByid(DivID).getElementsByTagName(‘textarea‘); var inps=getByid(DivID).getElementsByTagName(‘input‘); var buts=getByid(DivID).getElementsByTagName(‘button‘); var labs=getByid(DivID).getElementsByTagName(‘label‘); for (i=0; i<objs.length; i++) { objs[i].id="runcode"+i; inps[i].id=i buts[i].id=i labs[i].id=i } } function runCode(obj){ //定义一个运行代码的函数, var code=getByid("runcode"+obj).value;//即要运行的代码。 var newwin=window.open(‘‘,‘‘,‘‘); //打开一个窗口并赋给变量newwin。 newwin.opener = null // 防止代码对论谈页面修改 newwin.document.write(code); //向这个打开的窗口中写入代码code,这样就实现了运行代码功能。 newwin.document.close(); } //复制代码 function doCopy(obj) { if (document.all){ textRange = getByid("runcode"+obj).createTextRange(); textRange.execCommand("Copy"); alert("代码已经复制到剪切板"); }else{ alert("此功能只能在IE上有效\n\n请在文本域中用Ctrl+A选择再复制") } } //另存代码 function saveCode(obj) { var winname = window.open(‘‘,‘‘,‘width=0,height=0,top=200,left=200px‘); winname.document.open(‘text/html‘, ‘replace‘); winname.document.write(obj.value); winname.document.execCommand(‘saveas‘,‘‘,‘自适应宽度圆角滑动门.html‘); winname.close(); } 有了这段js,就可以在要实现代码运行功能的网页中调用了~ 调用方式代码如下参考: <textarea name="runcode0" rows="12" cols="95" > A区此处填写运行代码即可</textarea><br /> <input type="button" value="运行代码" onclick="runCode(runcode0)" /> 注意其中A填写代码是指在编辑状态下的运行代码,并非在代码状态下的代码。 效果如下: <SCRIPT> function Preview(obj) { var TestWin=open(‘‘); TestWin.document.write(obj.value); } function copyCode(obj) { var rng = document.body.createTextRange(); rng.moveToElementText(obj); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); } </SCRIPT> <TEXTAREA id="code" rows=15 cols=47> <script> alert(‘aa‘); </script> </TEXTAREA> <BR><BUTTON onclick=Preview(code)>运行代码</BUTTON><BUTTON onclick=copyCode(code)>复制代码</BUTTON>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。