html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

Discuz论坛NT版(2.6.1)代码运行框的实现方法_.NET教程_编程技术

[ ] 已经帮助:人解决问题
给Discuz!NT 论坛加上脚本代码运行框的方法,可以直接在论坛使用[html][/html]插入脚本特效的方法.

在做阿里西西论坛http://bbs.alixixi.com时,需要给帖子加入脚本运行框的代码.相关的资料还是很难找.TSfHTML5中文学习网 - HTML5先行者学习网

DZ官方论坛不提供相关的脚本运行框插件,网上公开的也只有PHP版的解决方法,而且还有很多问题.TSfHTML5中文学习网 - HTML5先行者学习网

研究了半天,终于找到解决方法,最终实现的效果如下,可以支持多个脚本运行框:TSfHTML5中文学习网 - HTML5先行者学习网

TSfHTML5中文学习网 - HTML5先行者学习网

经过全面调试,完全支持所有脚本调试功能.TSfHTML5中文学习网 - HTML5先行者学习网

方法如下:TSfHTML5中文学习网 - HTML5先行者学习网

1、进入DZ!NT后台>>贴子>>贴子相关Discuz!NT 代码,设置如下图并保存:TSfHTML5中文学习网 - HTML5先行者学习网

TSfHTML5中文学习网 - HTML5先行者学习网

替换内容是:TSfHTML5中文学习网 - HTML5先行者学习网

<TEXTAREA id="{RANDOM}" rows="12" cols="95">{1}</TEXTAREA><br><INPUT onclick=runEx("{RANDOM}") type="button" value="运 行"/> <INPUT onclick=doCopy("{RANDOM}") type="button" value="复 制" /> <INPUT  class="submit1" onclick=doSave("{RANDOM}") type="button" value="保 存" /> 提示:可先修改代码再按运行
 TSfHTML5中文学习网 - HTML5先行者学习网

2、修改论坛根目录下的javascript/common.js,在最未尾加入如下脚本代码:TSfHTML5中文学习网 - HTML5先行者学习网

//运行代码
function runEx(cod1)  {
  cod=document.getElementById(cod1)
   var code=cod.value;
   if (code!=""){
    var newwin=window.open('','',''); 
    newwin.opener = null
    newwin.document.write(code); 
    newwin.document.close();
 }
}
//复制代码
function doCopy2(ID) {
 if (document.all){
   textRange = document.getElementById(ID).createTextRange();
   textRange.execCommand("Copy");
alert('复制成功');
 }
 else{
   alert("此功能只能在IE上有效")
 }
}
//复制代码
function doCopy(obj) {
 var rng = document.body.createTextRange();
 rng.moveToElementText(obj);
 rng.scrollIntoView();
 rng.select();
 rng.execCommand("Copy");
 rng.collapse(false);
}
TSfHTML5中文学习网 - HTML5先行者学习网

function doCopyUrl()
{
document.getElementById("CopyUrl").value=parent.location.href;
document.getElementById("CopyUrl").select();
document.execCommand("copy");
alert("网址成功复制到剪贴板!")
}
TSfHTML5中文学习网 - HTML5先行者学习网

//另存代码
function doSave(obj) {
 var winname = window.open('', '_blank', 'top=10000');
 winname.document.open('text/html', 'replace');
 winname.document.writeln(obj.value);
 winname.document.execCommand('saveas','','code.htm');
 winname.close();
}
TSfHTML5中文学习网 - HTML5先行者学习网

通过以上两步就可以实现代码运行框的效果了,最后添加测试:TSfHTML5中文学习网 - HTML5先行者学习网

TSfHTML5中文学习网 - HTML5先行者学习网

通过以上的步骤就可以轻松实现了。TSfHTML5中文学习网 - HTML5先行者学习网

本文为阿里西西Web开发之家原创,转载请注明来自www.alixixi.comTSfHTML5中文学习网 - HTML5先行者学习网

TSfHTML5中文学习网 - HTML5先行者学习网
TSfHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助