当前位置: 首页 > 图文教程 > 网络编程 > 网页编辑器 > xhEditor的异步载入实现代码

网页编辑器
DISCUZ论坛的UBB编辑器(增加灵活调用,支持ASP)
一款垃圾中的极品HTML编辑器(兼容IE OR FF)
一个Javascript 编写的代码编辑器
TinyMce 中文手册 在线手册与下载
eWebEditor_v280_Free_Final最好用的网页编辑器下载
新浪博客在线编辑器傻瓜调用版(2007.11.1第四次修正)提供下载了
解密FCKeditor 2.0 的设置.修改.使用方法
比较不错的修改FCKEditor的修改方法
FCKeditor2.3 For PHP 详细整理的使用参考
又一个不错的FCKeditor 2.2的安装、修改和调用方法
FCKeditor的几点修改小结
ASX文件 终极教程
DISCUZ论坛的UBB编辑器(增加灵活调用,支持ASP UBB解析)打包下载
Qzone编辑器QzoneEditor打包下载
FCKEditor v2.6 编辑器配置图解教程
asp.net 为FCKeditor开发代码高亮插件实现代码
宝丽通实现连续播放实现代码
jsp Ewebeditor使用说明
编辑器中designMode和contentEditable的属性的介绍
修改fckeditor的文件上传功能步骤

网页编辑器 中的 xhEditor的异步载入实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 58 ::
收藏到网摘: n/a

xhEditor的异步载入实现代码,需要的朋友可以参考下。

我将会使用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是使用默认值还是用户自定义的目录