给zblog添加上“运行代码”的功能,这是“密陀僧”修改z-blog源码,给z-bog增添的新功能。这个方法出来很久了,我现在才加上还不晚吧,因为以后可能要贴出一些与时间相关的代码,所以用上这个“运行代码”的功能,是最为方便的了。
下面转一下方法,相关讨论参见“z-blog论坛”。如果你按如下步骤设置完毕,调用这个功能的方法是,在文章编辑区中加入" [ code ] 你的代码 [ /code ]",因为这是是演示,所以“中括号”与code之间留了空格,你实际用的时候,请去掉空格。
这个调用方法,是在请教Visc之后,才知道的,有时离成功就差这一步,在此感谢Visc的指点。
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,"")
修改为
Dim codeNum,rndStr
codeNum=0
Randomize
rndStr=int(rnd*100)
strContent=objRegExp.Replace(strContent,"
提示:您可以先修改部分代码再运行")
codeNum=codeNum+1
关于这个rndStr,可以用文章id代替。但是可能产生重复代码框id。保险起见,还是使用了随机函数。
3、重建所有页面。
4、最后,试一下效果,因为在“可视编辑”状态中,编辑器不知给代码做了什么处理,导致不能运行,所以建议一些复杂代码,还是用“UBB编辑”保险。
javascript 能获得汉字拼音的第一个字母
我的博物馆故事 官方安卓版v1.61.2
我的博物馆故事是一款以消除为主题的经营养成类手游,在这里玩家
专业模拟飞行10 手机版v12.2.4
专业模拟飞行10安卓版是一款飞行休闲手游,顶尖的物理飞行引擎
动物起义战斗模拟器二琳同款 最新版v4.1.1
动物起义战斗模拟器是一个非常有趣的模拟类游戏,玩家可以召唤各
迷你世界七周年 安卓手机版v1.43.0
迷你世界7周年是一款由《迷你世界》官方推出的庆祝特别版本,在
劫后公司无限资源版 v1.0.5.1
劫后公司内置菜单版是游戏的破解版本,在该版本中为玩家提供了内