日期:2014-05-16  浏览次数:20427 次

自动执行代码问题
以前在其他的网站看到过下面这样的功能
在一个TextArea里面,包含了很多代码(Html+JS)

然后在输入框下面有格按钮“运行代码”
点击之后会弹出一个新页面

新页面的代码就是TextArea里面的代码
达到即时预览的效果

这个功能不知道是怎么样实现的
还忘大家指教

------解决方案--------------------
function RunCode()
{
var theEvent = window.event || arguments.callee.caller.arguments[0];
var codeStr = " ";
if (theEvent.srcElement)
{
codeStr = theEvent.srcElement.parentElement.firstChild.value;
}
else if (theEvent.target)
{
codeStr = theEvent.target.parentNode.firstChild.value;
}
else
{
alert( "浏览器不支持所需功能! ");
return;
}
var demoWin = window.open( ' ', ' ', ' ');
demoWin.opener = null;
demoWin.document.write(codeStr);
demoWin.document.close();
}
------解决方案--------------------
<textarea id= "textarea1 ">
<script language=javascript>
alert( "asasdasd ")
</script>
</textarea>
<input name= "haha " type= "button " value= "确定 " onclick=show()>
<script language=javascript>
function show()
{
var str=document.getElementById( "textarea1 ").value
var bbb=window.open( "about:blank ", "aaa ");
bbb.document.open();
bbb.document.write(str)
bbb.document.close();
}
</script>
------解决方案--------------------
var win = window.open( ' ', '_blank ', 'directories=no,toolbar=no,menubar=no '); win.opener = null;
win.document.write(codeStr);
win.document.close();
------解决方案--------------------
mk
------解决方案--------------------
晕,楼主说的那个有“即时预览效果”的页面呢?!

保存下那个页面慢慢研究,或者查看源码也可以呀!

基本思路应该是:打开一个新窗口,然后向其中写入 TextArea 中的代码,OK!