-
Notifications
You must be signed in to change notification settings - Fork 418
Description
功能描述
我是从 Wiki js 迁移到当前项目的,在使用过程中,深切感受到 Wiki js 的编辑器非常出色,它支持 markdown、html、富文本等多种编辑模式,能满足不同用户的编辑习惯和需求。除此之外,Wiki js 允许在页面中嵌入 iframe,这一功能极大地丰富了页面的内容呈现形式。所以,我希望当前项目也能增加类似的功能,即提供多模式编辑器以及支持在页面中嵌入 iframe。
使用场景
对于多模式编辑器:不同用户有着不同的编辑偏好和使用场景。习惯用代码格式编辑的技术人员,更倾向于使用 markdown 或 html 模式,这样能快速高效地完成带有代码块、特定格式的内容编辑;而对于非技术人员或者更习惯直观编辑的用户,富文本编辑器则更为友好,他们可以像在 Word 中一样轻松地进行文字排版、插入图片等操作。多模式编辑器能让不同类型的用户都能舒适、高效地进行内容创作和编辑,提升整体的使用体验。
对于 iframe 嵌入功能:在很多场景下,用户需要在页面中整合外部内容。比如,在撰写技术文档时,可能需要嵌入相关的在线演示 demo、数据可视化图表的网页;在进行项目介绍时,可能需要嵌入相关的视频网站页面、外部的项目说明页面等。通过嵌入 iframe,用户无需跳转页面就能查看这些外部内容,使页面的信息更加集中、丰富,也增强了页面的互动性和实用性。
实现建议
关于多模式编辑器:可以考虑集成现有的成熟编辑器库,如 TinyMCE、CKEditor 等,这些库本身就支持多种编辑模式的切换,能够减少开发成本和周期。在集成过程中,要确保不同模式之间的切换流畅,内容格式保持一致,不会出现错乱或丢失的情况。同时,要根据项目的整体风格和交互逻辑,对编辑器的界面进行适当的调整,使其与项目融为一体。
关于 iframe 嵌入功能:首先需要在页面的编辑功能中添加专门的 iframe 嵌入选项,允许用户输入 iframe 的地址、宽度、高度等参数。在技术实现上,要做好安全防护,限制 iframe 的来源,防止恶意网站的嵌入带来安全风险,比如可以通过配置白名单的方式,只允许指定域名的 iframe 嵌入。另外,要确保嵌入的 iframe 在不同的设备和浏览器上都能正常显示,适应不同的屏幕尺寸。