xhEditor的异步载入实现代码

所属分类: 网络编程 / 网页编辑器 阅读数: 1380
收藏 0 赞 0 分享

我将会使用xheditor作为新的在线编辑器,我希望它可以能通过一个php函数就能调用如

复制代码 代码如下:

function editor($content,$name)
{
$editor=<<<EOT
<textarea id="$name" name="$name" rows="10" cols="60">$content</textarea>
EOT;
  return $editor;
}

这样做的好处有:
1,不用每次调用xheditor编辑器,都在前面写一大
2,调用方便,模板上就放返回的html代码的变量就可以了。

我使用的方法是用jquery里的get()方法异步xheditor的代码,然后再用eval把代码运行了。
如下:

复制代码 代码如下:

function editor($content,$name)
{
  $editor=<<<EOT
$(document).ready(
    function(){
        if(!$.isFunction($.xheditor))
        {
            $.get(
                '../xheditor.js',
                function(data){
                    eval(data);
                }
            );
        }
        $('#{$name}').xheditor(true);
    }
);
<textarea id="$name" name="$name" rows="10" cols="60">$content</textarea>
EOT;
  return $editor;
}

以上代码正确情况下,你是运行不了。
因为xheditor的0.9.8版在异步载入时会出现问题。导致xheditor不能正常显示。
原因:
由于jsURL是通过获取页面的来得到的。但我是采用异步加载的,所以我需要指定jsURL的地址。

补丁:
打开xheditor.js找到以下代码

复制代码 代码如下:

var defaults={skin:"default",tools:"full",internalScript:false,inlineScript:false,internalStyle:false,inlineStyle:true,showBlocktag:false,forcePtag:true,keepValue:true,upLinkExt:"zip,rar,txt",upImgExt:"jpg,jpeg,gif,png",upFlashExt:"swf",upMediaExt:"avi",modalWidth:350,modalHeight:220,modalTitle:true};


改为
复制代码 代码如下:

var defaults={skin:"default",tools:"full",internalScript:false,inlineScript:false,internalStyle:false,inlineStyle:true,showBlocktag:false,forcePtag:true,keepValue:true,upLinkExt:"zip,rar,txt",upImgExt:"jpg,jpeg,gif,png",upFlashExt:"swf",upMediaExt:"avi",modalWidth:350,modalHeight:220,modalTitle:true,editorURL:null};

其实就是增加了editorURL的默认值
然后再找到

复制代码 代码如下:

this.settings=$.extend({},defaults,options);

在其后面添加
复制代码 代码如下:

jsURL= this.settings.editorURL||jsURL;

用于设置jsURL是使用默认值还是用户自定义的目录

以后在调用xheditor时就多了一个参数

复制代码 代码如下:

editorURL
编辑器所在的url路径,该路径必须带有“/”,默认值为null

在浏览器里打开根目录的load_xheditor.html
文件打包

更多精彩内容其他人还在看

整合ckeditor+ckfinder,解决上传文件路径问题

现在fckeditor已经改名为ckeditor,上传控件也分离为ckfinder,按照说明文档的默认配置会出现上传路径不正确的情况,因为我们的网站可以通过定义默认网站、虚拟目录、以及放在网站的子目录下进行访问
收藏 0 赞 0 分享

在kindEditor中获取当前光标的位置索引的实现代码

一直在用KindEditor,今天要用到光标的位置,然后就gg一下办法,后来发现这东西的编辑区域居然是iframe里面的一个body,不是textarea/input,后来就翻开了他的代码看,发现有个insertHtml
收藏 0 赞 0 分享

KindEditor 4.x 在线编辑器常用方法小结

要修改默认后台程序处理文件,修改plugins(插件文件夹)下的JavaScript内容fileManagerJson改为自己使用程序语言
收藏 0 赞 0 分享

javascript开发随笔3 开发iframe富文本编辑器的一点体会

前段时间有个需求是开发富文本编辑器,这个之前随做过,但看了需求,发现有些地方还需google
收藏 0 赞 0 分享

TinyMCE syntaxhl插入代码后换行的修改方法

上次搞了个整合insert code的TinyMCE编辑器,非常好用。但有一个缺点:每次插入代码后,光标都会停留在pre标记里面,打回车出不来,必须编辑HTML
收藏 0 赞 0 分享

Fckeditor编辑器内容长度限制统计实现方法

Fckeditor是一种大家常用的编辑器,但是他不能像网页表单那样利用document.getelementbyid能获取得到值了,它必须通过 FCKeditorAPI来操作,下面看看Fckeditor内容长度测试
收藏 0 赞 0 分享

PHP中CKEditor和CKFinder配置问题小结

PHP中CKEditor和CKFinder配置问题小结,使用CKEditor和CKFinder编辑器的朋友可以参考下
收藏 0 赞 0 分享

ckeditor的使用和配置方法分享

CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站
收藏 0 赞 0 分享

FCKeditor 2.6.6在ASP中的安装及配置方法分享

FCKeditor目前的最新版本是2.6.6,在网上搜索此版本的配置方法,发现很少有asp的配置方法,以下就把自己的一些配置经验分享给有需要的你。
收藏 0 赞 0 分享

FCKeditor 2.6.5 ASP环境安装配置使用说明

今天用到在线编辑器在asp环境下上传竟然无效。找了好久才找到这介绍,现备份于此,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多