QQ登录

只需一步,快速开始

插件之家 - 禹天分享社区

查看: 6966|回复: 46

CSSBBS/HTML代码运行框 for x1.5 (完美支持多框显示)

  [复制链接]
发表于 2010-12-3 00:17:11 | 显示全部楼层 |阅读模式
资源详情
以下发布的作品,版权归属原作者插件之家共同所有。
插件名称:CSSBBS/HTML代码运行框 for x1.5 ,作者:cssbbs
语言编码GBK简体 
适用版本:Discuz!X1.5 
转载地址:http://www.discuz.net/forum.php?mod=viewthread&tid=1928163
详细描述:编辑器可以添加HTML代码运行框,用于HTML/JS代码技术测试和演示。完美支持同页面多框显示!
插件之家站长网温馨提示 1、为保证您的问题能够及时解决,若有任何疑问,请直接至 互动问答区 提问,切勿在此帖回复提问。
2、如提示模板非正版,请点击 关于出现 现“对不起,您安装的不是正版应用”的解决办法 切勿在此帖回复此问题。
3、安装插件后,请记得启用及设置。
4、安装新风格模板或更新模板后,请及时更新缓存及CSS缓存。
找了很多也没找到这个插件,所以只好自己做了。

演示地址:http://www.cssbbs.com/forum.php?mod=viewthread&tid=76&extra=page%3D1

暂时仅支持IE浏览器。

安装方法:

覆盖压缩包里面的三个文件夹到论坛根目录就可以了。

特别说明:
如果附件中的文件你之前有做过修改,请覆盖后再修改你之前修改的地方。 请做好备份,避免出现意外!


1459251lxz4nzfdxt454l7.jpg


1509524qz4rq4qbcbb0fqq.jpg
游客,如果您要查看本帖隐藏内容请回复


 楼主| 发表于 2010-12-3 00:19:25 | 显示全部楼层
本帖最后由 禹天 于 2010-12-3 00:32 编辑

《HTML代码运行框》 x1.5正式版,给出手动修改,不想覆盖的朋友有福了
有需要的人使用 用不到的尽量不要使用
修改前记的备份 修改比较烦琐 请仔细一步一步修改
打开source/function/function_discuzcode.php 查找
  1. 'codehtml' => '',
复制代码
下面加:
  1.         'phtmlcount' => -1,
  2.         'htmlcount' => 0,
  3.         'htmlhtml' => '',
复制代码
接着找
  1.                 return tpl_hide_credits_hidden($creditsrequire);
  2.         }
  3. }
复制代码
下面加
  1. function htmldisp($code) {

  2.         global $_G;
  3.         $_G['forum_discuzcode']['phtmlcount']++;
  4.         $code = dhtmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
  5.         $_G['forum_discuzcode']['htmlhtml'][$_G['forum_discuzcode']['phtmlcount']] = '<div class="runtxt"><textarea name="run'.$_G['forum_discuzcode'][htmlcount].'" id="run'.$_G['forum_discuzcode'][htmlcount].'" rows=12 cols=110>'.$code.'</textarea><br><input type="button" value="运行代码" onclick=runCode(run'.$_G['forum_discuzcode'][htmlcount].')>  <input type="button" value="复制代码" onclick=copycode(run'.$_G['forum_discuzcode'][htmlcount].')>  <input type="button" value="另存代码" onclick=saveCode(run'.$_G['forum_discuzcode'][htmlcount].')> <span>提示:您可以先修改部分代码再运行!</span></div><script language=JavaScript>ffcod=document.getElementById("run'.$_G['forum_discuzcode'][htmlcount].'").value;ffcod=ffcod.replace(/<br(.*)\/>/g,"");document.getElementById("run'.$_G['forum_discuzcode'][htmlcount].'").value=ffcod;</script>';
  6.         $_G['forum_discuzcode']['htmlcount']++;
  7.         return "[\tDISCUZ_HTML_".$_G['forum_discuzcode']['phtmlcount']."\t]";

  8. }
复制代码
继续找:
  1.                 $message = preg_replace("/\s?\[code\](.+?)\[\/code\]\s?/ies", "codedisp('\\1')", $message);
  2.         }
复制代码
下面加
  1.         if($parsetype != 1 && !$bbcodeoff && $allowbbcode && (strpos($message, '[/html]') || strpos($message, '[/HTML]')) !== FALSE) {
  2.                 $message = preg_replace("/\s?\[html\](.+?)\[\/html\]\s?/ies", "htmldisp('\\1')", $message);
  3.         }
复制代码
接着找:
  1.         if($parsetype != 1 && !$bbcodeoff && $allowbbcode && (strpos($message, '[/html]') || strpos($message, '[/HTML]')) !== FALSE) {
  2.                 $message = preg_replace("/\s?\[html\](.+?)\[\/html\]\s?/ies", "htmldisp('\\1')", $message);
  3.         }
  4.         for($i = 0; $i <= $_G['forum_discuzcode']['pcodecount']; $i++) {
  5.                 $message = str_replace("[\tDISCUZ_CODE_$i\t]", $_G['forum_discuzcode']['codehtml'][$i], $message);
  6.         }
复制代码
下面加
  1.         for($i = 0; $i <= $_G['forum_discuzcode']['phtmlcount']; $i++) {
  2.                 $message = str_replace("[\tDISCUZ_HTML_$i\t]", $_G['forum_discuzcode']['htmlhtml'][$i], $message);
  3.         }
复制代码
  1.                                 var tagl = {'quote' : '请输入要插入的引用', 'code' : '请输入要插入的代码'};
复制代码
修改为
  1.                                 var tagl = {'quote' : '请输入要插入的引用', 'code' : '请输入要插入的代码', 'html' : '请输入要插入的代码'};
复制代码
打开打开:static/js/editor.js
查找:
  1.         insertText(text, strlen(opentag), strlen(closetag), in_array(tagname, ['code', 'quote', 'free', 'hide']) ? true : false);
复制代码
替换为
  1.         insertText(text, strlen(opentag), strlen(closetag), in_array(tagname, ['code', 'quote', 'html', 'free', 'hide']) ? true : false);
复制代码
查找
  1.         if(in_array(cmd, ['sml', 'url', 'quote', 'code', 'free', 'hide', 'aud', 'vid', 'fls', 'attach', 'image']) || cmd == 'tbl' || in_array(cmd, ['fontname', 'fontsize', 'forecolor']) && !arg) {
复制代码
替换为
  1.         if(in_array(cmd, ['sml', 'url', 'quote', 'code', 'html', 'free', 'hide', 'aud', 'vid', 'fls', 'attach', 'image']) || cmd == 'tbl' || in_array(cmd, ['fontname', 'fontsize', 'forecolor']) && !arg) {
复制代码
查找
  1.                                         opentag = '<div class="blockcode"><blockquote>';
  2.                                         closetag = '</blockquote></div><br />';
  3.                                 }
复制代码
下面加
  1.                         case 'html':
复制代码
查找
  1.                                 var lang = {'quote' : '请输入要插入的引用', 'code' : '请输入要插入的代码', 'hide' : '请输入要隐藏的信息内容', 'free' : '如果您设置了帖子售价,请输入购买前免费可见的信息内容'};
复制代码
修改为
  1.                                 var lang = {'quote' : '请输入要插入的引用', 'code' : '请输入要插入的代码', 'html' : '请输入要插入的代码', 'hide' : '请输入要隐藏的信息内容', 'free' : '如果您设置了帖子售价,请输入购买前免费可见的信息内容'};
复制代码
查找
  1.                                                 selection = selection ? selection : '\n';
  2.                                         }
  3.                                 }
复制代码
下面加
  1.                         case 'html':
复制代码
打开:static/js/forum.js
在最后加上
  1. function copyCode(obj) {
  2. var rng = document.body.createTextRange();
  3. rng.moveToElementText(obj);
  4. rng.scrollIntoView();
  5. rng.select();
  6. rng.execCommand("Copy");
  7. rng.collapse(false);
  8. }

  9. function runCode(obj)

  10. {

  11. var code=obj.value;

  12. var newwin=window.open('','','');

  13. newwin.opener = null;

  14. newwin.document.write(code);

  15. newwin.document.close();

  16. }

  17. function saveCode(obj) {

  18. var newwin = window.open('', '_blank', 'top=10000');

  19. newwin.document.open('text/html', 'replace');

  20. newwin.document.write(obj.value);

  21. newwin.document.execCommand('saveas','','code.htm');

  22. newwin.close();

  23. }
复制代码
在打开template/default/common/common.css
查找:
  1.         a:hover { text-decoration: underline; }
  2.         a img { border: none; }
复制代码
下面加
  1. .runtxt{background:#F0F6ED;padding:10px;border:1px solid #C2DBB7;}
  2. .runtxt textarea{font-family:Courier New,Courier,monospace;border:1px solid #ccc;width:90%;font-size:12px;color:#333}
  3. .runtxt input{border-left:1px solid #d8dfea;border-right:1px solid #0e1f5b;border-top:1px solid #d8dfea;border-bottom:1px solid #0e1f5b;background:#005eac;color:#FFFFFF;}
  4. .runtxt input{border-color:#92bd7d #3b6e22 #3b6e22 #92bd7d;background:#67a54b}
  5. .runtxt span{font-size:12px;color:#888;}
复制代码
在打开template/default/common/editor.css
查找
  1.         #e_code                        { background-position: -123px -80px; }
  2.                 .b2r #e_code{ background-position: -120px -20px; }
复制代码
下面加
  1.                 .b2r #e_html{ background:url(static/image/editor/html1.gif) no-repeat center center; }
复制代码
打开:template/default/forum/post.htm
查找
  1.                                                 <div class="b2r{if $_G['cache']['bbcodes_display'][$_G['groupid']]} nbr{/if}" id="{$editorid}_adv_6">
  2.                                                         <p>
  3.                                                                 <a id="{$editorid}_code" title="{lang e_code_title}">{lang e_code}</a>
复制代码
下面加
  1.                                                                 <a id="{$editorid}_html" title="添加运行的HTML代码">HTML</a>
复制代码
图标上传到static/image/editor/里

140050nxj7oj70uvecegae.gif


累死我了

原帖地址
http://www.discuz.net/forum.php?mod=viewthread&tid=1977226
发表于 2010-12-3 00:19:48 | 显示全部楼层
不错,明天电脑上先玩一下--By Highfan!3.0
发表于 2010-12-3 06:47:19 | 显示全部楼层
收下了,谢谢禹天了。。
发表于 2010-12-8 04:30:24 | 显示全部楼层
da bu le zhong wen zi
发表于 2010-12-8 09:15:46 | 显示全部楼层
jygjtxie谢谢
发表于 2010-12-12 03:55:32 | 显示全部楼层
不错..不错..不错..
鹤山人网

www.heshancity.tk
发表于 2010-12-12 03:55:48 | 显示全部楼层
不错..不错..不错..
鹤山人网

www.heshancity.tk
发表于 2010-12-15 17:09:57 | 显示全部楼层
800017717800017717
发表于 2010-12-22 00:08:22 | 显示全部楼层
支持啊啊
谢谢楼主啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|手机版|Archiver| 插件之家 ( 京ICP备1201351 京公网 安备11011202001379号 ) ||

GMT+8, 2018-6-21 10:21 , Processed in 0.678287 second(s), 26 queries .

Powered by Discuz! X3.4

© 2015-2016 Comsenz Inc.

快速回复 返回顶部 返回列表