XHEditor编辑器的使用方法

为了同时支持Firefox和IE,我们常常用document.getElementById(id)方法来取得HTML对象。但是getElementById方法只能取得单个对象,而对于CheckBox数组则无能为力。 1. 下载xhEditor最新版本。下载地址:http://xheditor.com/download 2. 解压zip文件,将其中的xheditor.js以及xheditor_emot和xheditor_skin两个文件夹上传到网站相应目录 3. 在相应html文件的head标签结束之前添加 4. 调用方法有两种: 方法1:在textarea上添加属性: class="xheditor"(设置为xheditor-mini和xheditor-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://jb51.net/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:图片Flash:Flash动画Media:Windows 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://www.jb51.net/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仅为演示代码,若您使用的是其它的服务器脚本语言,请自行对初始化参数中的upLinkUrl、upImgUrl、upFlashUrl和upMediaUrl进行修改,并开发相应服务器上传接收程序。若您希望在自己的项目中实际使用,请自行修改代码或者重新开发,开发过程中请注意上传文件的格式及大小限制,注意服务器安全问题。 上传接收程序开发规范:1,上传文件域名字为:upload2,返回结构必需为json,并且结构如下:{"err":"","msg":"200906030521128703.gif"}若上传出现错误,请将错误内容保存在err变量中;若上传成功,请将服务器上的绝对或者相对地址保存在msg变量中。编辑器若发现返回的err变量不为空,则弹出窗口显示返回的错误内容。上传管理方案建议:1,在编辑器初始化时在upload.php后面跟上一个服务器生成的绝对唯一的跟踪值,例如:upload.php?infoid=1213121212,在服务器接收程序中以这个跟踪值保存到数据库中,同时也可以限制单个跟踪值下总上传文件数或者总文件大小,否则就是一个可以上传无限个文件的漏洞了3,最终当前表单提交时,再根据编辑器提交的HTML内容和数据库中上传内容进行比较,删除所有没有使用的上传文件4,定期由服务器脚本删除上传数据库中没提交的文件记录,这样就能防止别人将您的网站作为免费相册空间了 plugins:自定义按钮之插件扩展 插件对象的属性解释:c:样式表名称 t:插件名字(鼠标在按钮上方时显示) s:快捷方式 e:按钮点击后需要执行的代码特别说明:如果您希望样式表存储在系统自带的模板目录ui.css中,请将插件对象的样式名留空,则会自动按照插件名来调用相应的样式,例如:xhEdtBtnCut、xhEdtBtnCopy,其中的Cut和Copy是插件名具体调用方法请参考演示文件夹中的demo9 JS接口说明 JS接口示例代码: var editor=$('#elm1').xheditor(true,{tools:'full',skin:'default',internalScript:false,internalStyle:false,width:300,height:200,loadCSS:'http://jb51.net/test.css',fullscreen:true,beforeSetSource:ubb2html,beforeGetSource:html2ubb,focus:focusAction,blur:blurAction})[0].xheditor;editor.focus();editor.setSource('str')sHtml=editor.getSource()editor.appendHTML('

aaa

')editor.pasteHTML('

aaa

')editor.pasteText('str')sHtml=editor.formatXHTML(' aaa')editor.toggleSource()editor.togglePreview()editor.toggleFullscreen()editor.toggleReadonly()alert(editor.settings.upImgExt);editor.settings.upImgExt='txt,doc'; focus:使编辑器获得焦点 无参数 setSource:设置编辑器源代码 参数1:要设置的源代码内容,例:'

aaa

' getSource:返回编辑器格式后的源代码 无参数 appendHTML:粘贴HTML内容到编辑器结尾处 参数1:要粘贴的HTML代码,例:'

uuu

'注:0.9.5版添加 pasteHTML:粘贴HTML内容到编辑器当前光标处 参数1:要粘贴的HTML代码,例:'

uuu

' pasteText:粘贴文本到编辑器当前光标处 参数1:要粘贴的文本,例:'这里的内容完全原样显示 aaa' formatXHTML:格式化XHTML代码 参数1:需要格式化的HTML代码,例:' aaa',返回' aaa' 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:编辑器失去焦点时回调此函数注:修改有效变量仅限以上,其它的变量都仅在编辑器初始化时使用 编辑器初始化回调函数列表: beforeSetSource和beforeGetSource是编辑器回调函数,分别在设置源代码和取回源代码之前调用,详细使用方法可参考UBB代码演示页面focus和blur是编辑器聚焦和失去焦点时的回调函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最新版xhEditor编辑器从这里下载 v1.0.0 Final 更新日志: 1.添加:添加html5Upload参数,用以关闭HTML5上传功能,若关闭HTML5上传,则upMultiple参数无效 2.添加:添加delShortcuts API接口,以供插件或者外部动态的删除快捷键 1.修正:UBB模块背景色在Firefox浏览器下某些情况会丢失问题的修正 2.修正:IE6浏览器直接在标签内调用初始化JS代码失败问题的修正 3.修正:插件代码在IE的某些特殊情况会造成焦点丢失问题的修正 4.修正:Firefox浏览器下用jQuery的load动态加载带编辑器代码页面无效问题的修正 5.修正:从Word文档粘贴内容在Chrome浏览器中清理不完全问题的修正 6.修正:inlineStyle参数无效问题的修正 7.修正:IE浏览器粘贴无法清理Word文档问题的修正 1.调整:优化初始化代码以提高初始化速度 2.调整:考虑到“关于”按钮自动显示容易影响正常用户使用体验,特关闭此按钮的自动显示功能 3.调整:考虑php的json支持需要5.2版本以上才支持,对演示上传程序upload.php进行了适当的调节以提高兼容性,并同时优化了某些代码流程 4.调整:upMultiple参数由原先的逻辑值,变更为数值型,代表允许一次最大上传文件数,允许值:大于0的整数,等于1代表关闭多文件选择 5.调整:缩略图等参数分隔符逗号:“,”在非常多的特殊URL中容易出现,因此变更为:“||” 6.调整:根据用户反馈意见,将默认表情变更为QQ表情 7.调整:某些按钮的功能代码中使用title属性传值,会与某些toolTip插件冲突,因此变更传值属性值以提高兼容性 8.调整:关闭所有textarea在Chrome浏览器中的拖动改变大小功能
xheditor是一款富文本编辑器,用于网页开发中的文本编辑功能。然而,xheditor也存在一些漏洞,以下是一些常见的漏洞: 1. XSS(跨站脚本攻击)漏洞:xheditor对于输入内容的过滤不够严格,导致攻击者可以在编辑器中插入恶意脚本代码,进而窃取用户的敏感信息。这可以通过在输入内容中嵌入<script>标签或其他能执行脚本的代码来实现。 2. 文件上传漏洞:xheditor允许用户上传文件,但在文件上传的过程中,未进行足够的文件类型和大小验证,这可能导致恶意文件上传和执行。攻击者可以上传包含恶意脚本的文件或者超过系统承载能力的大文件,造成拒绝服务或其他安全风险。 3. 未经授权的访问漏洞:xheditor在默认情况下没有使用身份验证和授权措施,这使得未授权的用户可以直接访问和使用编辑器功能。攻击者可以在没有权限的情况下修改、删除或发布内容,这对网站的安全和数据完整性构成威胁。 针对xheditor的这些漏洞,建议采取以下措施来改进安全性: 1. 对用户输入内容进行严格的过滤和验证,防止XSS攻击。可以使用HTML转义或过滤器来去除或替换输入中的危险字符和标签。 2. 在文件上传过程中,限制文件类型和大小,并进行正确的文件检查和处理。可以采用白名单验证,只允许上传安全的文件类型,并设置最大文件上传限制,以防止恶意文件上传和执行。 3. 添加身份验证和授权机制,限制对xheditor的访问权限。只有经过授权的用户才能使用编辑器功能,避免未授权用户对内容进行修改或发布。 4. 定期更新和维护xheditor,及时修复已知的漏洞。保持软件的最新版本,并及时关注安全社区的公告和建议,确保及时应对新出现的漏洞。 总之,xheditor作为一款常用的富文本编辑器,需要开发人员在使用时注意其潜在的漏洞,并采取相应的安全措施,以保护网站和用户的安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值