给ewebeditor插入运行代码按钮

1.在数据库中添加一条按钮的相关配置
 主要是B_Event:insert('coderun')

 //这个地方的nextpage和Editor.js中的insert函数的case "coderun"对应 

2.做个codetext.gif图片到ButtonImage\standard目录下
 此图片就是这个按钮的图标

 此图片就是这个按钮的图标 

3.到后台去管理一下样式,选择一个样式,(如果系统样式不允许修改,要新建一个样式)

 然后修改 工具栏->按钮设置 

此时会看到新加的按钮已经出现在可用按钮栏里,点击加入已选按钮.别忘保存设置.

 4.找到Include\Editor.js.在insert函数里添加如下代码

case "coderun": // 字体变小 
var rndnum=RndNum(5); 
insertHTML(" <textarea cols=60 id='run_Code"+ rndnum +"' name='run_Code"+ rndnum +"'>" + HTMLEncode(sel.text)+ "</textarea><br><input onclick=runCode() type=button value=运行代码> <input type=button value=复制代码 onclick=copycode(run_Code)>[提示:你可先修改部分代码,再按运行]"); 
break;

还要在此JS文件里增加一个函数,用于生成随机数.

以便给加入的代码运行框不同的名字,防止加入多个代码运行框时,有脚本冲突. 

function RndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd+=Math.floor(Math.random()*10); return rnd; }

打开你的编辑器窗口,就会看到增加了这个按钮了,高兴吧! 

5.到此还没完呢,还要在文章的显示页面里加上执行代码. 

function runCode(){ //定义一个运行代码的函数, 
    if(1 == arguments.length) try{
    event = arguments[0];
}catch(e){} 
    var code=(event.target || event.srcElement).parentNode.childNodes[0].value;//即要运行的代码。 
    var newwin=window.open('','',''); //打开一个窗口并赋给变量newwin。 
    newwin.opener = null // 防止代码对原页面修改 
    newwin.document.write(code); //向这个打开的窗口中写入代码code,这样就实现了运行代码功能。 
    newwin.document.close(); 
}
function copycode(obj) { 
    var rng = document.body.createTextRange(); 
    rng.moveToElementText(obj); 
    rng.scrollIntoView(); 
    rng.select(); 
    rng.execCommand('Copy'); 
    rng.collapse(false); 
}

把这两个函数,写入一个JS文件里,然后在文章显示页面里引用这个JS文件即可. 

呵呵,结束了,其实挺简单的.在eWebEditor_v280_Free_Final版本下测试通过.