程序代碼如下:<br><script>
//獲取一個對象
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','','CSS動態滑動菜單.html');
winname.close();
}
</script>
<textarea id="runcode0" cols="72" rows="9"> <html>
<head>
<script language="javascript">
function clear(){
Source=document.body.firstChild.data;
document.open();
document.close();
document.title="看不到源代碼";
document.body.innerHTML=Source;
}
</script>
</head>
<body onload=clear()>
<!--
這招算是目前網上公布的防止查看源代碼的方法中最好的了,當然了,要看還是辦法的,比如在地址欄中輸入<br>
javascript:alert(document.documentElement.outerHTML);
-->
</body>
</html>
</textarea>
<br>
<input type="button" value="運行代碼" id="0" onClick="runCode(this.id)">
<input type="button" value="復制代碼" id="0" onClick="doCopy(this.id)">
<input type="button" value="保存代碼" id="0" onClick="saveCode(runcode0)"> <br>