jWYSIWYG превращает переводы строки в <P> в IE9, но в <BR> в других браузерах

Я использую jWYSIWYG плагин jquery для добавления элементов управления в текстовые области в приложении.

Я обнаружил, что тот же код в IE превращает переводы строки в <P> теги, но <BR> в других браузерах (Firefox, Chrome, пока). В идеале я бы хотел, чтобы они все были <BR>или, исключая это, сделайте их всех <P>, Я по крайней мере хочу, чтобы это было последовательным.

Есть ли работа вокруг? Я вижу, что есть настройка конфигурации:

brIE Логическое. Если true, <br/> будет вставлен для новой строки в IE.

К сожалению, он, похоже, ничего не делает, когда установлен.

1 ответ

Корень проблемы заключается в том, что редакторы WYSIWYG на основе браузера используют браузер для редактирования.

Базовый компонент редактора WYSIWYG - это просто стандартный элемент (например, <div>) с contentEditable флаг установлен. Вот и все. Браузер контролирует фактическое редактирование; код JavaScript не контролирует это, браузер. И разные браузеры реализуют это по-разному.

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

Это произойдет со всеми браузерными редакторами WYSIWYG. Некоторые из них могут попытаться нормализовать различия в браузерах, но, как вы видели, с ограниченным успехом. И пользователь имеет некоторый контроль; например, браузеры часто по-разному реагируют на shift+return по сравнению с просто return для новых строк. Но это оставляет его в руках пользователя, который, возможно, не осознает необходимость сделать это (в конце концов, вы используете редактор wysiwyg, чтобы упростить для пользователя, а не сделать его более сложным).

В общем, лучшее, на что вы действительно можете надеяться - это нормализовать его после редактирования в коде на стороне сервера.

Другие вопросы по тегам