• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >网页编辑器 > Html 编辑器粘贴内容过滤技术详解

Html 编辑器粘贴内容过滤技术详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-06-05

本文主要包含html内容编辑器,html编辑器,html在线编辑器,html编辑,html5编辑器等相关知识, 希望在学习及工作中可以帮助到您
作者:Tony Qu
最近在解决数据粘贴方面取得了不少进展,作为Html在线编辑器所必须具备的技术,在这里详细给大家介绍并提供实现参考。在研究过程中,我也确实走了不少弯路,尝试了n种方式,由于美国的PM始终觉得有些影响用户体验的东西无法接受,导致好几个提案被否定,不过收获还是很丰富的。
我现在写code喜欢需求驱动,让我们来看看这项技术的主要需求
* 能够过滤用户贴进来的纯文本数据
* 能够过滤用户贴进来的html数据(未经Html编码)
* 能够过滤用户贴进来的Word数据,并能把大部分Word格式保留下来。
* 在这一过程中尽量不要让用户知道我们在做过滤
* 不要去提示用户是否启用某种权限
本例所适用的场景为使用iframe实现的Html编辑器,而不是文本框(textarea或type为text的input)。

在研究过程中,我主要参考了tinymce、ckeditor,但最后我还是选择了tinymce的实现方法,具体原因在你看完下面这段文字后就会明白。
ckeditor的实现方式是在onpaste事件触发时,从剪贴板取出数据,处理取出的文本,然后再把处理好的文本存入剪贴板。有人说,那我能不能在onpaste中直接取消paste动作,然后自己把获得的内容放入iframe当中去,我当时就干过这事,但结果却出人意料,直接从剪贴板拿出的数据是不包括格式信息的文本,特别是从Word粘贴过来的数据,纯文本,颜色、布局等数据都不存在,这样的话,你的用户只能粘贴没有格式的数据过来,然后自己重新在Html编辑器里面编辑。但是如果让浏览器自己去做粘贴,格式信息都会保留,浏览器会自动把Word的粘贴数据转换为xml数据,放入dom中。所以为了保留格式信息,我们恐怕只能通过浏览器的标准粘贴行为的帮助实现这一点。
另外ckeditor的实现在Firefox中有一个致命的弱点,如果你要从剪贴板读写数据,你就必须提示用户自己去设置一个叫signed.applets.codebase_principal_support的权限,javascript脚本是没有权限去设置的,虽然从技术人员来看这是很正常的,但是很多产品经理无法接受这一点,至少我的产品经理是这么认为的。
以下是ckeditor获取和设置剪贴板的代码,供大家参考。
ifmTemp.conte

您可能想查找下面的文章:

  • Html 编辑器粘贴内容过滤技术详解

相关文章

  • 2017-06-05百度编辑器ueditor前台代码高亮无法自动换行解决方法
  • 2017-06-05免费开源百度编辑器(UEditor)使用方法
  • 2017-06-05FCKeditor 图片上传进度条不动的解决方法
  • 2017-06-05TinyMCE syntaxhl插入代码后换行的修改方法
  • 2017-06-05CuteEditor 编辑器的字体样式无法控制的解决方法
  • 2017-06-05FCKeditor 2.6.6在ASP中的安装及配置方法分享
  • 2017-06-05UEditor 默认字体和字号的修改方法
  • 2017-06-05FCKeditorAPI 手册 js操作获取等
  • 2017-06-05网页编辑器FCKeditor 2.6.4精简配置方法
  • 2017-06-05CKEditor中加入syntaxhighlighter代码高亮插件

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 当使用ckeditor控件时,需要校验输入内容是否为空的一种解决办法(转帖)
    • 解决FCKEditor在IE10、IE11下的不兼容问题
    • Fckeditor XML Request error:internal server error (500) 解决方法小结
    • CKEditor网页编辑器 中文使用说明
    • 让谷歌浏览器Google Chrome支持eWebEditor的方法
    • FCKeditorAPI 手册 js操作获取等
    • ckeditor syntaxhighlighter代码高亮插件配置分享
    • 整合ckeditor+ckfinder,解决上传文件路径问题
    • FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合
    • 针对PHP环境下Fckeditor编辑器上传图片配置详细教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有