当前位置:网站首页 > TensorFlow框架 > 正文

富文本输入框(富文本编辑器框架)



最近由于工作需要,需要手写一个富文本编辑器,需要支持源代码粘贴和可视化下内容修改的基本功能。自己就手撸一个富文本编辑器。

基本原理:由于富文本内容不想收到所在页面或者前端框架的影响,或者说写一个完全单独的纯编辑器,采用原生iframe+js+jquery实现。

富文本编辑器iframe实现

这就是dom结构部分,这里面iframe就是我们后面重点实现页面预览的地方。

通过以上代码,我们就能拿到iframe的内容,当然设置内容也是完全可以的。我们对dom的操作基本上就要基于这个对象去实现。

还有一点很重要,就是我们如何过去这个iframe所在的window,下面会用到。

这个就是,我们获取iframe所在dom的实现方法。

这就是一个基本原理,我们将在textarea中输入的html字符串,转化为dom展示在iframe的视图页面上。

以上代码,通过jquery节点的html方法,将textArea的文本内容转化为dom,病展示在html代码中。

这个基本原理就是,让iframe中的元素具有可编辑属性。增加contentEditable属性,则dom元素当前允许编辑。我的实际需求是,只允许编辑文本。所以我只需要将含有的文本内容的元素所在dom节点设置contentEditable属性。

切换会源代码时,我们又需要将contentEditable移除掉。

插入内容和粘贴内容,之前我们需要知道当前可编辑dom中编辑时光标所在的位置,才能知道我们在哪里插入内容,或者粘贴内容。

这里我们就需要用到window.getSelection() 这个方法,当然这里很重要的一点是,我们需要用到iframe所在的window,而不是直接当前页面所在window。这里就用到开头的方法。

注意这里的写法。这里拿到的就是当前iframe所在的方法,然后去获取getSelecttion(),这时我们就能知道光标的位置。方便我们去插入内容和粘贴内容。

我的实际需求是可以编辑和粘贴内容,所以这里就实现了可编辑和粘贴内容。

在可视化视图下,我们要防止超链接点击是跳转,在代码模式下,我们要防止html代码格式不完整的问题,jquery其实可以帮我们完成一些细节操作,完整代码(会给table增加tbody, 会补齐确实的标签等),但是最好还是要校验一下,防止js代码执行等,这里记不一一讲了。

在这里插入图片描述

到此这篇富文本输入框(富文本编辑器框架)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 微信hook机器人框架(微信webhook机器人)2026-02-18 22:54:09
  • 模型框架图(模型框架图里面可以加图片吗)2026-02-18 22:54:09
  • 模型框架图(模型框架图怎么画)2026-02-18 22:54:09
  • 编程入门教程(tensorflow编程入门教程)2026-02-18 22:54:09
  • 微信hook框架源码(hook框架是什么意思)2026-02-18 22:54:09
  • 模型框架结构(框架结构模数)2026-02-18 22:54:09
  • 流量回放框架(流量回放框架怎么设置)2026-02-18 22:54:09
  • 微信hook(微信hook框架)2026-02-18 22:54:09
  • 模型框架结构(模型框架结构是什么)2026-02-18 22:54:09
  • hook框架是什么(hook框架是什么意思)2026-02-18 22:54:09
  • 全屏图片