eWebEditor是个很好用的工具,见面也很好看。是一款很受欢迎的在线编辑器。现在我和大家分享一下我近期使用eWebEditor遇到的问题及其解决办法。(这里先声明,我使用的是飞鱼修改版的eWebEditor)

    1.关于eWebEditor不兼容IE8的问题。
    在网上查了一下,发现原因是这样的,因为ie8屏蔽了anonymous方法 所以要改成onclick方法。修改如下
    打开include下面的editor.js文件,有这样的段代码:
    

if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");


    应该修改成:

1if(navigator.appVersion.match(/MSIE (8)\./i)!=null){
2    if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");  
3}
else{
4    if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
5}

    在网上找的某一片文章,它讲IE7也认为是屏蔽了anonymous方法,经过个人测试,IE7和IE6一样,没有屏蔽anonymous,故无需对IE7进行判断,但是这里有个问题,就是IE8的bate版无法进行判断,如果高手请指点一下。

    2.使用编辑器提交的内容为空的时候,tomcat服务器会自动关闭的问题。
    我的办法是:

 1function getHTML() {
 2    var html;
 3    if(bEditMode){
 4        html = eWebEditor.document.body.innerHTML;
 5    }
else{
 6        html = eWebEditor.document.body.innerText;
 7    }

 8    var re = new RegExp(sBaseUrl.replace(/\//,"\/"),"gi");
 9    html = html.replace(re, "");
10    if ((html.toLowerCase()=="<p>&nbsp;</p>")||(html.toLowerCase()=="<p></p>")){
11        html = ".";
12    }

13    return html;
14}


    但是这并不能找到问题的根源,后来在javaeye的一篇文章里看到问题的根源。
    在upload.jsp里有这么一行代码:

1if(sTemp.equals(""))    
2{    
3System.exit(0);    
4}
   

应该改为:

if(sTemp.equals(""))    
{    
sTemp
=" "}
   


3.当eWebEditor不在root的一级目录的时候,图片和文件上传不了的问题。
这需要改两个地方。以我的某个项目为例:

我的eWebEditor在网站的二级目录。
    a.修改文件的保存路径:
        在upload.jsp里修改这句话为:

1String sUploadFilePath="jpkc/eWebEditor/UploadFile/";

    b.修创建文件夹的路径:
        在eWebEditor.jsp里修改这句话:

1sStyleNameAdd=config.getServletContext().getRealPath("/")+ "jpkc/eWebEditor/" + sUploadFilePath +calendar.get(Calendar.YEAR) + 
2    "/"+ (calendar.get(Calendar.MONTH)+1+"/"+ calendar.get(Calendar.DAY_OF_MONTH)+"/";

到此,eWebEditor又可以上传文件和图片了。


虽然eWebEditor外观很好看,而且还有上传文件的功能,但是,它有如下缺陷:
1.它是收费的,所以公司做项目一般不用它。
2.它不支持火狐和opera浏览器。(FCKeditor就很强大啦。)

posted on 2010-09-16 08:46  vibratea  阅读(612)  评论(0编辑  收藏  举报