xheditor HTML编辑器简单使用

本文介绍xhEditor富文本编辑器的安装、配置及使用方法,包括基本功能如工具栏自定义、全屏模式、上传接口设置等,并提供JavaScript接口示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单使用说明:

1. 下载xhEditor最新版本。下载地址:http://code.google.com/p/xheditor/downloads/list

2. 解压zip文件,将其中的xheditor.js以及xheditor_emot和xheditor_skin两个文件夹上传到网站相应目录

3. 在相应html文件的head标签结束之前添加

<script type="text/javascript" src="http://static.xxx.com/js/xheditor.js"></script>

4. 调用方法有两种:

方法1:在textarea上添加属性: class="xheditor"(设置为xheditor-minixheditor-simple,分别默认加载迷你和简单工具栏)
方法2:在您的页面初始JS代码里加上: $('#elm1').xheditor(true);

例如:
$
({
$
('#elm1').xheditor(true);
});

相应的隐藏编辑的代码为:
$
('#elm1').xheditor(false);

初始化参数说明

初始化示例代码:

$('#elm1').xheditor(true,{tools:'full',skin:'default',showBlocktag:true,readonly:false,internalScript:false,internalStyle:false,width:300,height:200,loadCSS:'http://pirate9.com/test.css',fullscreen:true,sourceMode:true,forcePtag:true,upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png",keepValue:true,plugins:{}});

tools:自定义工具按钮

参数值:full(完全),simple(简单),mini(迷你)
或者自定义字符串,例如:'GStart,Cut,Copy,Paste,Pastetext,GEnd,Separator,GStart,Source,Preview,Fullscreen,About,GEnd'

完整按钮表:
GStart:组开始
GEnd:组结束
Separator:分隔符
Cut:剪切
Copy:复制
Paste:粘贴
Pastetext:文本粘贴
Blocktag:段落标签
Fontface:字体
FontSize:字体大小
Bold:粗体
Italic:斜体
Underline:下划线
Strikethrough:中划线
FontColor:字体颜色
BackColor:字体背景色
Removeformat:删除文字格式
Align:对齐
List:列表
Outdent:减少缩进
Indent:增加缩进
Link:超链接
Unlink:删除链接
Img:图片
FlashFlash动画
MediaWindows media player视频
Emot:表情
Table:表格
Source:切换源代码模式
Preview:切换预览模式
Fullscreen:切换全屏模式
About:关于xhEditor

skin:皮肤风格选择

参数值:default(默认风格),o2007blue(Office 2007 蓝色),o2007silver(Office 2007 银色)

showBlocktag:显示段落标签

参数值:true(显示段落标签),false(不显示)

internalScript:内部JS代码保留状态

参数值:true(保留内部JS代码),false(清理内部JS代码)

inlineScript:内联JS代码保留状态

参数值:true(保留内联JS代码),false(清理内联JS代码)

internalStyle:内部样式保留状态

参数值:true(保留内部样式),false(清理内部样式)

inlineStyle:内联样式保留状态

参数值:true(保留内联样式),false(清理内联样式)

width:编辑器宽度

参数值:不带单位的数字,例:300

height:编辑器高度

参数值:不带单位的数字,例:100

loadCSS:加载样式

参数值:样式表网址,例如:'http://static.pirate9.com/css/global.css'

fullscreen:默认全屏显示

参数值:true(全屏大小),false(标准大小)

readonly:默认只读模式

参数值:true(只读模式),false(可编辑模式)

sourceMode:默认源代码模式

参数值:true(源代码模式),false(编辑模式)

forcePtag:强制P标签

参数值:true(强制使用P标签),false(不强制)

keepValue:自动保存src和href属性值

参数值:true(保存),false(不保存)
说明:在IE等浏览器下使用编辑器,插入的图片和链接地址都会被浏览器自动转为绝对地址,比如输入:a.gif,自动会转为:http://test.com/a.gif

modalWidth:showModal弹出窗口的默认宽度

参数值:数值,默认为350
说明:弹出窗口的默认宽度

modalHeight:showModal弹出窗口的默认高度

参数值:数值,默认为220
说明:弹出窗口的默认高度

modalTitle:showModal弹出窗口是否显示上方的标题栏

参数值:true(显示),false(不显示)
说明:控制弹出窗口是否显示上方的标题栏,默认为显示,若需要显示一个更定制个性化的iframe窗口,可通过此参数隐藏上方的标题栏

upLinkUrl:超链接文件上传接收URL

参数值:接收用户上传的服务器端程序URL,默认留空为禁用超链接上传功能,具体使用方法请参考demo8演示文件

upLinkExt:超链接上传前限制本地文件扩展名

参数值:超链接上传前限制的文件扩展名列表,默认为:zip,rar,txt,建议与服务端扩展名检查列表一致

upImgUrl:图片文件上传接收URL

参数值:接收用户上传的服务器端程序URL,默认留空为禁用上传功能,具体使用方法请参考demo8演示文件

upImgExt:图片上传前限制本地文件扩展名

参数值:图片上传前限制的文件扩展名列表,默认为:jpg,jpeg,gif,png,建议与服务端扩展名检查列表一致

upFlashUrl:动画文件上传接收URL

参数值:接收用户上传的服务器端程序URL,默认留空为禁用上传功能,具体使用方法请参考demo8演示文件

upFlashExt:动画上传前限制本地文件扩展名

参数值:动画上传前限制的文件扩展名列表,默认为:swf,建议与服务端扩展名检查列表一致

upMediaUrl:视频文件上传接收URL

参数值:接收用户上传的服务器端程序URL,默认留空为禁用上传功能,具体使用方法请参考demo8演示文件

upMediaExt:视频上传前限制本地文件扩展名

参数值:视频上传前限制的文件扩展名列表,默认为:avi,建议与服务端扩展名检查列表一致

上传接口使用注意事项:

demos目录中的upload.php仅为演示代码,若您使用的是其它的服务器脚本语言,请自行对初始化参数中的upLinkUrlupImgUrlupFlashUrlupMediaUrl进行修改,并开发相应服务器上传接收程序。
若您希望在自己的项目中实际使用,请自行修改代码或者重新开发,开发过程中请注意上传文件的格式及大小限制,注意服务器安全问题。

上传接收程序开发规范:
1,上传文件域名字为:upload
2,返回结构必需为json,并且结构如下:{"err":"","msg":"200906030521128703.gif"}
若上传出现错误,请将错误内容保存在err变量中;若上传成功,请将服务器上的绝对或者相对地址保存在msg变量中。
编辑器若发现返回的err变量不为空,则弹出窗口显示返回的错误内容。

上传管理方案建议:
1,在编辑器初始化时在upload.php后面跟上一个服务器生成的绝对唯一的跟踪值,例如:upload.php?infoid=121312121
2,在服务器接收程序中以这个跟踪值保存到数据库中,同时也可以限制单个跟踪值下总上传文件数或者总文件大小,否则就是一个可以上传无限个文件的漏洞了
3,最终当前表单提交时,再根据编辑器提交的HTML内容和数据库中上传内容进行比较,删除所有没有使用的上传文件
4,定期由服务器脚本删除上传数据库中没提交的文件记录,这样就能防止别人将您的网站作为免费相册空间了

plugins:自定义按钮之插件扩展

插件对象的属性解释:
c
:样式表名称 t:插件名字(鼠标在按钮上方时显示) s:快捷方式 e:按钮点击后需要执行的代码

特别说明:
如果您希望样式表存储在系统自带的模板目录ui.css中,请将插件对象的样式名留空,则会自动按照插件名来调用相应的样式,例如:xhEdtBtnCutxhEdtBtnCopy,其中的CutCopy是插件名

具体调用方法请参考演示文件夹中的demo9

JS接口说明

JS接口示例代码:

var editor=$('#elm1').xheditor(true,{tools:'full',skin:'default',internalScript:false,internalStyle:false,width:300,height:200,loadCSS:'http://pirate9.com/test.css',fullscreen:true,beforeSetSource:ubb2html,beforeGetSource:html2ubb,focus:focusAction,blur:blurAction})[0].xheditor;
editor
.focus();
editor
.setSource('str')
sHtml
=editor.getSource()
editor
.appendHTML('<p>aaa</p>')
editor
.pasteHTML('<p>aaa</p>')
editor
.pasteText('str')
sHtml
=editor.formatXHTML('<b>aaa</b>')
editor
.toggleSource()
editor
.togglePreview()
editor
.toggleFullscreen()
editor
.toggleReadonly()
alert
(editor.settings.upImgExt);
editor
.settings.upImgExt='txt,doc';

focus:使编辑器获得焦点

无参数

setSource:设置编辑器源代码

参数1:要设置的源代码内容,例:'<p>aaa</p>'

getSource:返回编辑器格式后的源代码

无参数

appendHTML:粘贴HTML内容到编辑器结尾处

参数1:要粘贴的HTML代码,例:'<p>uuu</p>'
注:0.9.5版添加

pasteHTML:粘贴HTML内容到编辑器当前光标处

参数1:要粘贴的HTML代码,例:'<p>uuu</p>'

pasteText:粘贴文本到编辑器当前光标处

参数1:要粘贴的文本,例:'这里的内容完全原样显示<strong>aaa</strong>'

formatXHTML:格式化XHTML代码

参数1:需要格式化的HTML代码,例:'<b>aaa</b>',返回'<strong>aaa</strong>'

toggleSource:在源代码模式和编辑模式之间切换

参数1:空(切换),true(显示源代码模式),false(显示编辑模式)

togglePreview:在预览模式和编辑模式之间切换

参数1:空(切换),true(显示预览模式),false(显示编辑模式)

toggleFullscreen:在全屏模式和标准大小之间切换

参数1:空(切换),true(显示全屏模式),false(显示标准模式)

toggleReadonly:在只读模式和可编辑模式之间切换

参数1:空(切换),true(切换为只读模式),false(切换为可编辑模式)

settings:获取或者修改编辑器内部参数

internalScript:是否清除内部代码
inlineScript
:是否清除内联代码
internalStyle
:是否清除内部样式
inlineStyle
:是否清除内联样式
forcePtag
:强制使用P标签
keepValue
:保持属性值
upLinkUrl
:超链接上传接口地址
upLinkExt
:超链接本地上传扩展限制
upImgUrl
:图片上传接口地址
upImgExt
:图片本地上传扩展限制
upFlashUrl
:动画上传接口地址
upFlashExt
:动画本地上传扩展限制
upMediaUrl
:视频上传接口地址
upMediaExt
:视频本地上传扩展限制
beforeSetSource
:在设置源代码到编辑器前调用此函数
beforeGetSource
:从编辑器返回源代码前调用此函数
focus
:编辑器获得焦点时回调此函数
blur
:编辑器失去焦点时回调此函数

注:修改有效变量仅限以上,其它的变量都仅在编辑器初始化时使用

编辑器初始化回调函数列表:

beforeSetSourcebeforeGetSource是编辑器回调函数,分别在设置源代码和取回源代码之前调用,详细使用方法可参考UBB代码演示页面
focus
blur是编辑器聚焦和失去焦点时的回调函数
软件介绍xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0-8.0,Firefox 3.0,Opera 9.6,Chrome 1.0,Safari 3.22。Features(特点): Small:初始加载5个文件,包括:1个js(36k)+2个css(6k)+2个图片(4k),总共46k。若js和css文件进行gzip压缩,可以进一步缩减为18k左右。 Fast:基于jQuery引擎开发,提供高效的代码执行效率 Simple:简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化编辑器。 Word:实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。 UBB: 提供完美的UBB可视化编辑解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷 ver 0.9.7 Change(2009-7-21) 1.调整:标签显示功能由原先的显示在左上方并增高8像素,改为显示在右上方且不增高 2.调整:编辑器内部的settings变量由原先的内部变量改为公有变量,以方便从外部动态的对参数进行修改 3.修正:修正了Chrome浏览器下字体效果转换错误的问题,此问题仅出现在0.9.6版中 4.修正:在非WebKit内核下,使用3个字符的16进制颜色值无效的问题进行了修正,例:<span xss=removed>aaa</span> 5.修正:appendHTML和pasteHTML两个函数添加的图片或者链接,相对地址变绝对地址问题的修正 6.修正:XHTML格式化功能进一步完善,例:<b>aaa<bbb>,修正前<bbb这部分内容会消失,修正后此BUG消失 7.修正:之前表情插入后默认是选中当前表情,现修正为插入表情后光标定位在表情之后,这样便于在后面继续插入新表情 8.添加:ajax上传功能模块化,使链接、动画和视频在不增加代码大小的情况下都具备上传功能 9.添加:在readonly只读模式下除了全屏和关于按钮可用,其它所有按钮都禁用,并且内容不可编辑,可通过toggleReadonly接口来进行切换状态 10.添加:showModal接口,模仿桌面程序的模式窗口,必需完成窗口内事件或者关闭窗口才能返回窗口,本程序已扩展到ajax上传模块中,并可在插件中调用
xhEditor是一个基于jQuery开发的简单迷你并且高效的在线可视化HTML编辑器,基于网络访问并且兼容IE 6.0 ,Firefox 3.0 ,Opera 9.6 ,Chrome 1.0 ,Safari 3.22 。完全基于JavaScript开发,您可以应用在任何的服务端语言环境下,例如:PHP、ASP、ASP.NET、JAVA等。可以在您的CMS、博客、论坛、商城等互联网平台上完美的嵌入运行,能够非常灵活简单的和您的系统实现完美的无缝衔接。 主要特点: 精简迷你 编辑器初始加载4个文件,包括:1个js(50k) 2个css(10k) 1个图片(5k),总共65k。若js和css文件进行gzip压缩传输,可以进一步缩减为24k左右。 高效jQuery引擎 基于强大的开源jQuery引擎开发,提供高效的代码执行效率,并完美的实现最佳浏览器兼容性。 使用简单 简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化HTML编辑器。 强大Ajax上传 内置强大的Ajax上传,包括HTML4和HTML5上传支持(多文件上传、真实上传进度及文件拖放上传),追求完美的用户上传体验。 Word完美支持 实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。 安全的UBB 提供完美的UBB可视化编辑器解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷。 兼容以下浏览器: IE6, IE7, IE8, IE9 Firefox 3.0 Chrome 1.0 Opera 9.6 Safari 3.22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值