//獲取一個對象 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>