给zblog加上运行代码功能

时间:2014-07-12

zblog添加上“运行代码”的功能,因为经常要贴出一些代码,所以用上这个“运行代码”的功能,是最为方便的了。

下面转一下方法,相关讨论参见“z-blog论坛”。

如果你按如下步骤设置完毕,调用这个功能的方法是,在文章编辑区中加入[ code ]你的代码[ /code ],因为这是是演示,所以“中括号”与code之间留了空格,你实际用的时候,请去掉空格。

1、在zb_system/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、zb_system/FUNCTION/c_function.asp,查找

Function TransferHTML(ByVal source,ByVal para)

注释掉或者删掉下面这句

If Instr(para,"[space]")>0 Then source=Replace(source," "," ")


查找

objRegExp.Pattern="(\[CODE\])(.+?)(\[\/CODE\])"
strContent=objRegExp.Replace(strContent,"<textarea class=""code"" 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

3、重建所有页面

4、最后,试一下效果,因为在“可视编辑”状态中,编辑器不知给代码做了什么处理,导致不能运行,所以建议一些复杂代码,还是用“源代码”保险。

[code]CSS3立体导航

[/code]


上一条:zblog彻底去掉Z-Blog分类目录前后的数字(已失效) 下一条:在zblog文章中加入版权和文章链接的方法,"原创文章转载自&q

相关文章

最新文章