【问题标题】:What criteria should I take into consideration when allowing users to enter rich text on my website?当允许用户在我的网站上输入富文本时,我应该考虑哪些标准?
【发布时间】:2009-12-31 15:18:50
【问题描述】:

我曾使用过几种不同类型的“用户生成内容”网站:wiki、留言板、博客……这些系统可能有很大的不同:博客文章编辑器比 cmets 允许更多地控制演示文稿 在博客文章中,wiki 主题编辑器鼓励通过原始 URL 等的 wiki 链接。

但是,每个人都有一个共同的关键设计决策:我应该为用户提供简化的标记语言,例如 Wikitext、Markdown 或 BBCode,迫使用户学习,还是应该为他们提供所见即所得的编辑器,例如 CKEdit 或 TinyMCE并在后台过滤或转换生成的 HTML?

有一段时间,我认为识别目标受众很简单:有技术头脑的用户可以获得标记,非技术用户则获得所见即所得。在实践中,这并没有那么好,偶尔的用户在标记和 WYSIWYG 编辑器上为底层 HTML 提供了最好的泄漏抽象。

因此,我最初的信心被彻底粉碎,我来寻求建议:

  • 在做出此决定时应该考虑哪些因素?
  • 简单的标记系统是否已经变得足够普遍,以至于我可以依赖大多数用户至少一些熟悉它们?
  • ...或者我是否应该将它们仅仅视为过去的遗物而放弃,并努力寻找使所见即所得的工作更有效的方法...?

我不想回去撕毁我已经完成的事情。无论好坏,这些系统都在工作,他们的少数用户现在很舒服或至少能胜任。但是,在整合未来的设计时,最好有一些更好的指导方针。

【问题讨论】:

  • 我能想到的唯一因素是“我真的关心白痴是否可以将 Word 文档复制并粘贴到文本表单中吗?”而你可能是唯一一个可以自己回答这个问题的人。
  • @NSD:是的,我想这不是那么相关;只是在写作时回想旧问题。我已经把它去掉了,谢谢。

标签: wysiwyg markup richtext


【解决方案1】:

一种似乎运作良好的方法是使用 Markdown,就像在 SO 上所做的那样。愚蠢和/或懒惰的人(向所有人道歉)可以简单地在框中输入文本;它看起来很乱,但它大部分都在那里并且可读。关心文本外观的人可以做一些在大多数情况下几乎直观的简单事情(例如在段落之间留空行,在列表项之前放置星号或数字),而且 Just Works™

对于许多应用程序和人员来说,这已经足够了。一些更炫的网站,例如 Google 博客,让您可以选择(单击按钮即可更改)编辑原始 HTML 或使用所见即所得编辑器(这种编辑器经常失败,以至于我通常选择原始 HTML)。理论上,您甚至可以为您的用户提供 3 种选择,例如 Markdown、HTML 和 WYSIWYG;但在某些时候,你会想知道你为什么还要打扰。有些用户总是会在界面的某些方面遇到困难,他们会责怪你。我相信找到一个快乐的媒介,而不是费心让每个人都快乐。

在我看来,最重要的考虑因素是安全性。如果您允许使用原始 HTML,您的用户可以插入垃圾邮件和恶意软件,并且基本上为了他们的目的劫持您的网站;所以你必须仔细限制允许的内容。另一个考虑因素是,如果您允许,例如H1 标题,人们可以在真正应该从属的帖子中占用大量空间和注意力。如果您允许 CSS(包括 HTML 标记中的 style 属性),那么还有一些方法可以破坏您的“真实”内容。另一个大问题源于未封闭或不匹配的标签。这些才是真正严重的问题,你宁愿在严格方面犯错以避免更严重的问题。

【讨论】:

  • 决斗编辑的想法对我很有吸引力,但有点像是把决定权交给可能没有能力做出决定的用户。我知道对于 Google 博客编辑器,我通常会和你做同样的事情 - 使用原始 HTML 只是因为所见即所得编辑器无法允许我需要的东西;我想知道如果没有后备选项,它是否不会看到更多改进。不过,很好的答案,尤其是关于安全性和原始 HTML - 谢谢!
  • 在这里,我将更简单的选项设置为默认值,因为您更简单的用户会忘记替代方案。看,问题会自动自我修复:)
【解决方案2】:

“在做出这个决定时我应该考虑哪些因素?”你的客户想要什么?在需要原始标记的附加功能之前,您是否可以使用“简化的”所见即所得的“回退”系统?大多数用户最常使用哪些类型的东西?哪些功能使用频率较低,但在需要时,您的客户就离不开它们?

“简单的标记系统是否已经变得足够普遍,以至于我可以依赖大多数至少对它们有一定了解的用户?”对于使用 wiki 和博客的人,我认为答案是肯定的。即使是博客上的评论者在某种程度上也是为了最简单的事情,但同样,我认为如果他们能够(或一些常见的标记子集),你应该让他们做内联标记,并且如果他们需要的话,可以选择更多的权力。

“..或者我应该将它们仅仅作为过去的遗物而抛弃,并努力寻找使所见即所得更有效地工作的方法......?”我不会一下子接受这一切。从一个坚实的功能内核开始工作,然后向外工作到一个完整的系统。

【讨论】:

    猜你喜欢
    • 2023-02-05
    • 2021-12-19
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多