◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
Email:sunwindy[A]gmail.com
给zblog加上运行代码功能
Post by 密陀僧, 2006-7-24, Views: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下无效。
如有疑问,请在下面留言。BY 密陀僧,转载请注明来源。
提示:您可以先修改部分代码再运行
提示:您可以先修改部分代码再运行
或许你还对下面的文章感兴趣
- zblog艰难升到1.6 Beta Build 60420 (2006-5-17 15:23:17)
Comments
- 1.mstz
- http://www.mstz.net/
- 对程序不懂,我也想请问小和尚:这是做甚么用的?
另外:看你在论坛的帖子,莫非你也喜欢拣破烂吗? - 2006-7-24 16:36:41 回复
- 3.mstz
- http://www.mstz.net/
- 恩,看明白了.很少涉及这类的文章,对我来说用处就不大了.对你们来说还是很好用的.
拣破烂的甚么都缺,就是不缺破烂,不过不知你喜欢甚么样的东西.来这里这么久了,还不知你是哪里的,如果你是东北的,可以来沈阳我这儿挑啊. - 2006-7-24 19:24:23 回复
- 4.密陀僧
- 偶在上海咯
等偶有钱啦偶就去沈阳
HotHeart:偶也发现这个问题了,FF下会提示变量未定义错误(runcode0 is not defined),偶对js不是很熟练,请高手指点。 - 2006-7-24 20:09:03 回复
- 7.freesky
- http://dearfish.com/blog/post/184.html
- 我这次运行倒是可以打开新窗口了,不过打开就没有动静了,在飞firefox1.5增强版里面。
- 2006-7-30 23:05:11 回复
- 8.密陀僧
- to freesky
请看:引自 HotHeart呃……忘了说了,给textarea加上id属性
<textarea id="runcode0" .... - 2006-7-30 23:10:04 回复
- 9.PeriHCR
- http://perichr.cn
- 不行哦!察看弹出的页面的源代码,发现多了很多类似“<?xml:namespace prefix = span style="background />”的代码。
比如:<?xml:namespace prefix = div id="color-chart" style="font-size /><div id="color-chart" style="font-size: 11px; font-family: "Courier New"; line-height: 18px;"> ……
这个是怎么回事呢? - 2006-9-1 15:13:37 回复
- 10.密陀僧
- 引自 PeriHCR不行哦!察看弹出的页面的源代码,发现多了很多类似“<?xml:namespace prefix = span style="background />”的代码。
比如:
<?xml:namespace prefix = div id="color-chart" style="font-size /><div id="color-chart" style="font-size: 11px; font-family: "Courier New"; line-height: 18px;"> ……
这个是怎么回事呢?
把你的测试页面地址发给我看看~ - 2006-9-2 21:19:03 回复
- 11.Hakkawawa
- http://www.yczhang.com
- 在FF和IE7下不起作用

- 2006-11-17 22:09:43 回复
- 12.hakkawawa
- 我用了这方法, 多运行框下可以运行, 但不管是点哪个运行的都是运行最上面的那一个, 我用的是Z-Blog 1.4 sp3, 请问这是什么原因?
http://www.yczhang.com - 2006-12-6 23:37:33 回复
- 15.waitfeng
- 2、func/c_function.asp,查找Function TransferHTML(source,para),把
If Instr(para,"[space]")>0 Then source=Replace(source," "," ")
注释掉。
这里是什么意思呢 - 2006-12-8 12:32:45 回复
- 16.visc
- http://www.chinaham.com.cn
- 运用并转载了你的代码,谢谢了!
- 2007-1-3 10:55:39 回复
- 17.小放
- http://chenfang.name
- 我前几天完成运行代码(之前不知道你设计的那个)。也和你一样加了随机函数。不过最后生成的空格却是 ,导致代码无法运行。翻腾了好久,终于用极笨重的方法编了replaceAll函数(本人对JS不太了解)把chr(160)的替换成(32)的。真的很累啊。现在看到楼主这代码。直叫好。谢了。
- 2007-3-21 18:15:06 回复
- 19.悠悠
- http://www.91di.com
- 我的是1.7的,是不是不支持啊,有出现运行代码,但运行起来,总是不对
总是出现:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
http://www.w3.org/2000/08/w3c-synd/#"> - 2007-9-6 16:50:32 回复
- 20.leafor守叶人
- http://www.leafor.com
- 我用了你这个,不过效果不行,那些空格都去掉了,代码都堆到了一起,并且不能运行,如19楼相似。我用的是最新的z-blog1.8,才弄,请多指教。

比如此文:http://leafor.com/Leafor-blog/Footnotes-with-Javascript&CSS.html
我的博客:http://www.leafor.com - 2008-1-14 15:36:58 回复
- 21.leafor守叶人
- http://www.leafor.com
- 还是不行哦,大哥,你看我那里还是有乱码,不能换行,比如此文:
http://leafor.com/Leafor-blog/Footnotes-with-Javascript&CSS.html - 2008-1-18 17:30:15 回复
- 22.深蓝
- http://www.zhtour.cn
- 您好,请问1.8可以用吗。 我试了下不行。能不能更新下呢。谢谢
- 2009-6-24 10:04:17 回复
