Skip to content

[功能建议] 编辑器多样化以及对iframe 嵌入功能的支持 #855

@senkawu

Description

@senkawu

功能描述

我是从 Wiki js 迁移到当前项目的,在使用过程中,深切感受到 Wiki js 的编辑器非常出色,它支持 markdown、html、富文本等多种编辑模式,能满足不同用户的编辑习惯和需求。除此之外,Wiki js 允许在页面中嵌入 iframe,这一功能极大地丰富了页面的内容呈现形式。所以,我希望当前项目也能增加类似的功能,即提供多模式编辑器以及支持在页面中嵌入 iframe。

使用场景

对于多模式编辑器:不同用户有着不同的编辑偏好和使用场景。习惯用代码格式编辑的技术人员,更倾向于使用 markdown 或 html 模式,这样能快速高效地完成带有代码块、特定格式的内容编辑;而对于非技术人员或者更习惯直观编辑的用户,富文本编辑器则更为友好,他们可以像在 Word 中一样轻松地进行文字排版、插入图片等操作。多模式编辑器能让不同类型的用户都能舒适、高效地进行内容创作和编辑,提升整体的使用体验。
对于 iframe 嵌入功能:在很多场景下,用户需要在页面中整合外部内容。比如,在撰写技术文档时,可能需要嵌入相关的在线演示 demo、数据可视化图表的网页;在进行项目介绍时,可能需要嵌入相关的视频网站页面、外部的项目说明页面等。通过嵌入 iframe,用户无需跳转页面就能查看这些外部内容,使页面的信息更加集中、丰富,也增强了页面的互动性和实用性。

实现建议

关于多模式编辑器:可以考虑集成现有的成熟编辑器库,如 TinyMCE、CKEditor 等,这些库本身就支持多种编辑模式的切换,能够减少开发成本和周期。在集成过程中,要确保不同模式之间的切换流畅,内容格式保持一致,不会出现错乱或丢失的情况。同时,要根据项目的整体风格和交互逻辑,对编辑器的界面进行适当的调整,使其与项目融为一体。
关于 iframe 嵌入功能:首先需要在页面的编辑功能中添加专门的 iframe 嵌入选项,允许用户输入 iframe 的地址、宽度、高度等参数。在技术实现上,要做好安全防护,限制 iframe 的来源,防止恶意网站的嵌入带来安全风险,比如可以通过配置白名单的方式,只允许指定域名的 iframe 嵌入。另外,要确保嵌入的 iframe 在不同的设备和浏览器上都能正常显示,适应不同的屏幕尺寸。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions