網頁中點擊運行執行代碼

//獲取一個對象

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>
相關文章
相關標籤/搜索