WYSIWYG против Код Би-би-си против Обычный Текст


При размещении контента для пользователей (например, при размещении вопроса, ответа или комментария на этом сайте), что следует учитывать при принятии решения об использовании какой-либо формы редактора WYSIWYG, какой-либо формы разметки, подобной BBC, или просто предоставлении пользователям простой текстовой области для работы?

Author: GSto, 2010-07-30

3 answers

Я думаю, что минимальный редактор SO с синтаксисом markdown был удивительно эффективен для той цели, которой он служит.

На мой взгляд, чем меньше HTML-кода вам придется использовать в представленных данных, тем лучше. Если пользователям не нужно организовывать и публиковать данные в таблицах или что-то в этом роде, я действительно не вижу необходимости в редакторе WYSIWYG.

Общие теги, которые вы захотите разрешить, следующие:

<a>
<blockquote>
<pre>
<b>
<i>
<sup>
<sub>
<ul>
<ol>
<li>
<br>
<img>

Форматирование абзацев легко выполняется на вашей стороне. За исключением нескольких, уценка или креольский язык может справиться почти со всем этим, и проверка/санитария не так обременительны с вашей стороны. BBCode тоже хорош, но не такой гибкий.

Если пользователь каким-либо образом не аутентифицирован /не пользуется доверием, вы, вероятно, не хотите, чтобы он работал в редакторе WYSIWYG. Даже тогда они должны быть действительно доверенный, помимо простой проверки их электронной почты или чего-то еще, что может быть выполнено тривиально.

 5
Author: Tim Post, 2010-07-30 16:20:31

Я столкнулся со многими проблемами с Microsoft Word как пользователь пользовательского интерфейса, специализирующийся на пользовательских решениях CMS. Хотя во многих инструментах есть функции "вставить из word", я не могу сказать вам, сколько раз мне звонили поздно ночью, потому что пользователь "забыл" или "отказывается" использовать эту функцию. Без дополнительной постобработки, чтобы очистить мили тарабарщины, которую могут оставить после себя пасты Word, я даже видел ошибки БД, вызванные попыткой ввести слишком много данных в запись (тем не менее, я должен был поддержать коммерчески приобретенное решение) Мое решение, в дополнение к Tidy, состоит в том, чтобы стандартизировать CKEditor, потому что он запрограммирован на удаление разметки слов, независимо от того, "вставляет ли пользователь слово" или просто перетаскивает. Дополнительная постобработка и экранирование включены для защиты от инъекций, орфографических ошибок, помеченных ключевых слов и запрещенного HTML.

Если вы собираетесь предоставить пользователю возможность добавлять "дополнительные" для ввода, внимательно рассмотрите, какие дополнительные ты собираешься их отдать. Из коробки у большинства редакторов есть довольно много того, чего, вероятно, не должно быть на панели инструментов. По этой причине BBCode был тем, о чем я размышлял много-много раз. Однако по какой-то причине я просто продолжаю возвращаться к WYSIWYG из-за фактора "благоговения", который он получает на собраниях по продажам, и его простоты для пользователя (когда все хорошо)

 1
Author: bpeterson76, 2010-07-30 18:07:36

Как правило, как можно меньше вариантов, позволяющих вашим пользователям выражать свои идеи. Некоторые сайты просто добавляют кнопки жирным шрифтом и курсивом, и это работает. Любая другая система потребует определенной подготовки. Другие, которые следует учитывать, - это синтаксисы Markdown и Википедии. Также примечательно, что многие крупные сайты просто не допускают никакой дополнительной разметки, например, поток активности Facebook.

 1
Author: artlung, 2010-07-30 18:46:56