<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>'运行代码'的文本域代码</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
</head>
<body>
<div>
<textarea id="code_vessel" name="textarea" cols="60" rows="10">
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<title>新窗口</title>
</head>
<body>
<h1>欢迎来到新窗口!</h1>
</body>
</html>
</textarea><br>
<button id="run_code">运行代码</button>
</div>
<script>
//运行文本域代码 原生js实现
window.onload=function(){
var oCodeVessel=document.getElementById('code_vessel');
var oRunCode=document.getElementById('run_code');
oRunCode.onclick=function(){
runCode(code_vessel);
};
function runCode(cod1) {
var codeValue = cod1.value;
if (codeValue != "") {
//pageURL 为子窗口路径, name为子窗口句柄, parameters为窗口参数(各参数用逗号分隔)
var newwin = window.open('', '', ''); //打开一个窗口并赋给变量newwin。
newwin.opener = null; // 防止代码对论坛页面修改
newwin.document.write(codeValue); //向这个打开的窗口中写入代码,这样就实现了运行代码功能。
newwin.document.close();
}
}
};
//运行文本域代码 jquery实现 未做空值判断
// $(function(){
// (function(){
// $('#run_code').click(function(){
// runCode($('#code_vessel').val());
// });
// function runCode(val){
// var newwin=window.open('','','');//打开新窗口
// newwin.opener=null;
// newwin.document.write(val);
// newwin.document.close();
// }
// })();
// });
</script>
</body>
</html>