Почему они предпочитают использовать iframe и включить режим разработки на .contentWindow.document.designMode = "on"
вместо прямого использования textarea?Почему редакторы javascript используют iframe для реализации?
ответ
Причина в том, что вы не сможете просматривать предварительный просмотр стилей, применяемых с помощью редактора, в текстовом поле. Всякий раз, когда вы применяете стили, такие как нажатие Ctrl + B
, раздел внутри iframe может отображать символы полужирным шрифтом, тогда как в текстовом поле это будет невозможно. Textarea предназначен для ввода неформатированных значений, тогда как режим разработки, включенный iframe, предназначен для ввода форматированного текста.
Вы можете использовать любой другой элемент, например div, и можете превратить его в редактор. Но с использованием iframe вы можете иметь отдельный документ и можете манипулировать им, не рассматривая родительскую страницу, в которой установлен iframe.
Я полагаю, что использование iframe позволяет улучшить изоляцию: редактор может делать практически все, что захочет, без какого-либо риска конфликта с остальной частью вашей страницы - особенно для CSS и Javascript.
Большинство браузеров довольно долгое время редактировалось, но до недавнего времени некоторые браузеры (например, Firefox до версии 3) поддерживали только designMode
, который работает только на целый документ, а не на более гибкий contentEditable
, которые могут быть включены и выключены для отдельных элементов документа. Поэтому редакторы WYSIWYG были обязаны использовать iframe для поддержки таких браузеров.
- 1. Почему букмарклеты используют iframe?
- 2. Редакторы JavaScript для .NET Программисты
- 3. Почему реализации STL не используют утверждения для обнаружения неопределенного поведения?
- 4. Текстовые редакторы JavaScript WYSIWYG
- 5. javascript WYSIWYG HTML-редакторы?
- 6. Почему браузеры используют префиксы?
- 7. Почему все виджеты в javascript используют div?
- 8. Почему эти переменные javascript используют общий объем?
- 9. Почему разработчики используют href равно javascript?
- 10. Почему мои валидаторы ASP не используют javascript?
- 11. Почему большинство фреймворков javascript используют объектные литералы
- 12. Почему люди используют .net для веб-разработки
- 13. Почему все используют Node.js и NPM для компиляции библиотек JavaScript?
- 14. Почему несколько библиотек javascript используют $ для того или иного использования
- 15. визуальные редакторы для JSF
- 16. Редакторы изображений для программистов?
- 17. Редакторы HTML для DNN
- 18. Почему люди используют CommandManager.InvalidateRequerySposed() для ICommands?
- 19. Почему библиотеки JavaScript чаще не используют блоки try-catch?
- 20. Какие реализации std :: async используют пулы потоков?
- 21. Javascript для jQuery? (Iframe)
- 22. Javascript для завершения iframe
- 23. Почему люди используют textmate?
- 24. Настройка контекста javascript для iFrame в iFrame
- 25. Почему функция toString JavaScript зависит от реализации?
- 26. Почему они используют DBMS_STATS.GATHER_TABLE_STATS?
- 27. Почему программисты используют void *
- 28. Почему люди используют ProjectData
- 29. Какие технологии/инструменты используют люди для реализации живых веб-сайтов?
- 30. Права, запрещенные при реализации JavaScript внутри iframe с родительской страницы