首页 搜索 TAGS 留言 登陆 转换到繁體中文

2008年5月13日

给zblog加上运行代码框功能

在zblog1.6final版本上完成,FIREFOX1.5,IE6.0版本下测试通过。其它版本请网友参照修改。

1、在script/common.js里面增加

//*********************************************************
// 目的: 代码运行框
// 输入: obj
// 返回:
//*********************************************************
function copycode(obj) {
var rng = document.body.createTextRange();
var obj1=document.getElementById(obj)
rng.moveToElementText(obj1);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
}

function runCode(obj) {
var winname = window.open('', "_blank", '');
var obj1=document.getElementById(obj)
winname.document.open('text/html', 'replace');
winname.opener = null // 防止恶意修改
winname.document.writeln(obj1.value);
winname.document.close();
}
function saveCode(obj) {
var winname = window.open('', '_blank', 'top=10000');
var obj1=document.getElementById(obj)
winname.document.open('text/html', 'replace');
winname.document.writeln(obj1.value);
winname.document.execCommand('saveas','','code.htm');
winname.close();
}


2、func/c_function.asp,查找Function TransferHTML(source,para),把
If Instr(para,"[space]")>0 Then source=Replace(source," "," ")
注释掉。

找到

objRegExp.Pattern="(\[CODE\])(.+?)(\[\/CODE\])"
strContent=objRegExp.Replace(strContent,"<textarea class=""code"" name=""runcode0"" rows=""10"" cols=""50"">$2</textarea>")


修改为

Dim codeNum,rndStr

codeNum=0
Randomize
rndStr=int(rnd*100)

strContent=objRegExp.Replace(strContent,"<textarea class=""code"" name=""code"&rndStr&codeNum&""" id=""code"&rndStr&codeNum&""" rows=""10"" cols=""50"">$2</textarea><br /><input type=""button"" value=""运行代码"" onclick=""runCode('code"&rndStr&codeNum&"')""> <input type=""button"" value=""复制代码"" onclick=""copycode('code"&rndStr&codeNum&"')""> <input type=""button"" value=""另存代码"" onclick=""saveCode('code"&rndStr&codeNum&"')""> 提示:您可以先修改部分代码再运行")
codeNum=codeNum+1


关于这个rndStr,可以用文章id代替。但是可能产生重复代码框id。保险起见,还是使用了随机函数。


3、重建所有页面。

说明:本修改针对zblog1.6版本,其它版本请对照修改。在firefox1.5,IE6下测试通过。复制和保存功能ff下无效。
如有疑问,请在下面留言。

原文地址:http://0e2.net/post/422.html

Tags: zblog  运行代码框  

Posted by 小寒 at 11:34:01 | 代码片段 | Comments (0)

相关文章

对我而言,zblog的几点不足  (2008-5-2 17:58:48)

伪造的规律  (2008-4-28 16:50:41)

我不用LBS了  (2007-11-21 10:29:45)

最新评论及回复

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

 
Powered By Z-Blog 1.8 Devo Build 80201   Auto Publisher CopyRight©2005-2007 相忘于江湖 All Rights Reserved. © 2005-2007
本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"相忘于江湖", 保留原始链接, 此外还必须标注原文标题和链接.
本博客所有文章,发表者拥有版权,本博拥有展示权,转载请注明出处!
管理员:小寒 邮箱:1314ing@gmail.com(建站相关) QQ:260596(长隐), 其它号码非本人.
拒绝任何人以任何形式在本博客发表与中华人民共和国法律相抵触的言论! 声明