在Z-Blog中運(yùn)行代碼[html][/html](純JS版)
更新時(shí)間:2007年03月25日 00:00:00 作者:
昨天的《利用th,colgroup,col定義表格樣式》中,細(xì)心點(diǎn)的朋友會(huì)發(fā)現(xiàn)加了一個(gè)“運(yùn)行代碼”的鏈接:直接點(diǎn)擊可以運(yùn)行Textarea中的內(nèi)容。其實(shí)本身藍(lán)色理想、51JS上也有相關(guān)介紹,Z-Blog官方論壇上也有類似帖子,因?yàn)樽约翰惶矚g改asp的內(nèi)容(將來(lái)升級(jí)省得替換),所以偷了個(gè)小懶,做了一個(gè)純JS版本的。
是否兼容FireFox,還沒來(lái)得及測(cè)試。自己覺得“另存為”和“復(fù)制”功能也比較多余,這里也省略掉了。如果需要Fix Bug或者技術(shù)支持,歡迎給我留言^_^ 具體代碼如下:
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 = "運(yùn)行代碼";
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 = "(提示:您可以先修改部分代碼再運(yùn)行)";
o.appendChild(a);
o.appendChild(em);
insertAdjacentElement("afterEnd",o);
}
}
}
目前“運(yùn)行代碼”功能是放在Textarea下方的,如果想放在上方,改動(dòng)以下代碼即可。
insertAdjacentElement("afterEnd",o);
this.parentNode.previousSibling.value
其中的replace(/\u00a0/gi, " ")主要是為了將被c_function.asp文件替換的空格( )和Tab( )還原回來(lái)。使用方面當(dāng)然是在所需頁(yè)面onload進(jìn)來(lái)即可,有多少個(gè)className為code的Textarea,就有多少個(gè)“運(yùn)行代碼”功能,夠簡(jiǎn)單吧?
是否兼容FireFox,還沒來(lái)得及測(cè)試。自己覺得“另存為”和“復(fù)制”功能也比較多余,這里也省略掉了。如果需要Fix Bug或者技術(shù)支持,歡迎給我留言^_^ 具體代碼如下:
復(fù)制代碼 代碼如下:
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 = "運(yùn)行代碼";
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 = "(提示:您可以先修改部分代碼再運(yùn)行)";
o.appendChild(a);
o.appendChild(em);
insertAdjacentElement("afterEnd",o);
}
}
}
目前“運(yùn)行代碼”功能是放在Textarea下方的,如果想放在上方,改動(dòng)以下代碼即可。
insertAdjacentElement("afterEnd",o);
this.parentNode.previousSibling.value
其中的replace(/\u00a0/gi, " ")主要是為了將被c_function.asp文件替換的空格( )和Tab( )還原回來(lái)。使用方面當(dāng)然是在所需頁(yè)面onload進(jìn)來(lái)即可,有多少個(gè)className為code的Textarea,就有多少個(gè)“運(yùn)行代碼”功能,夠簡(jiǎn)單吧?
相關(guān)文章
JavaScript常用標(biāo)簽和方法總結(jié)
JavaScript可以被瀏覽器直接解釋執(zhí)行,它可以更好得減小服務(wù)器壓力,提高程序運(yùn)行效率,下面小編通過本篇文章給大家分享JavaScript常用標(biāo)簽和方法,需要的朋友一起來(lái)學(xué)習(xí)吧2015-09-09JavaScript操作URL的相關(guān)內(nèi)容集錦
這篇文章主要介紹了JavaScript操作URL的相關(guān)內(nèi)容集錦的相關(guān)資料,需要的朋友可以參考下2015-10-10layer iframe 設(shè)置關(guān)閉按鈕的方法
今天小編就為大家分享一篇layer iframe 設(shè)置關(guān)閉按鈕的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-09-09可拖動(dòng)可改變大小div的實(shí)現(xiàn)代碼
可拖動(dòng)可改變大小div的實(shí)現(xiàn)代碼,非常不錯(cuò)的應(yīng)用,大家可以參考下。2009-08-08