|
是否兼容FireFox,還沒來得及測試。自己覺得“另存為”和“復制”功能也比較多余,這里也省略掉了。如果需要Fix Bug或者技術支持,歡迎給我留言^_^ 具體代碼如下:
復制代碼 代碼如下:
function RunCode() {
var ele = document.getElementsByTagName("textarea");
for (var i=0; i<ele.length; i++) {
with (ele[i]) {
if (className != "code") continue;
var o = document.createElement("p");
var a = document.createElement("a");
var em = document.createElement("em");
o.className = "runCode";
a.href = "Javascript:;";
a.innerHTML = "運行代碼";
a.onclick = function() {
var win = window.open('', "_blank", '');
win.document.open('text/html', 'replace');
win.document.writeln(this.parentNode.previousSibling.value.replace(//u00a0/gi, " "));
win.document.close();
}
em.innerHTML = "(提示:您可以先修改部分代碼再運行)";
o.appendChild(a);
o.appendChild(em);
insertAdjacentElement("afterEnd",o);
}
}
}
目前“運行代碼”功能是放在Textarea下方的,如果想放在上方,改動以下代碼即可。
insertAdjacentElement("afterEnd",o);
this.parentNode.previousSibling.value
其中的replace(//u00a0/gi, " ")主要是為了將被c_function.ASP文件替換的空格( )和Tab( )還原回來。使用方面當然是在所需頁面onload進來即可,有多少個className為code的Textarea,就有多少個“運行代碼”功能,夠簡單吧?
JavaScript技術:在Z-Blog中運行代碼[html][/html](純JS版),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。