TinyMCE рисует нормально, но не позволяет мне это вводить. В FF кнопки имеют ошибку: компонент вернул код ошибки: 0x80004005

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

Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: http://mysite/tiny_mce/tiny_mce.js :: anonymous :: line 1"  data: no]
Source File: http://mysite/tiny_mce/tiny_mce.js
Line: 1

Я хотел бы знать, что я могу сделать, чтобы отладить то, что здесь происходит. Что могло быть причиной этой странной ошибки?

Немного предыстории:

Этот код загружает TinyMCE:

<script type = "text/javascript" src = "http://mysite/tiny_mce/tiny_mce.js"></script> 
<script>
tinyMCE.init({
    mode : 'none',
    editor_selector: 'mceAdvanced',
    theme : 'advanced',
    theme_advanced_toolbar_location : 'top',
    theme_advanced_toolbar_align : 'left',
    theme_advanced_buttons1 : 'fontsizeselect,bold,italic,|,bullist,numlist,|,outdent,indent,|,removeformat',
    theme_advanced_buttons2: '',
    theme_advanced_buttons3: '',
    theme_advanced_font_sizes: "1, 2, 3, 4",
    width: '600',
    height: '200',
    remove_script_host : true,
    cleanup_on_startup : true,
    cleanup: true,
    debug : true,
    convert_urls : false
});

tinyMCE.execCommand('mceAddControl', true, 'fldOverview');
</script>

<textarea id = "fldOverview" name = "fldOverview" class = "textbox"><?= OVERVIEW ?></textarea>

Проверено на:

FF3 не работает. Опера (последняя стабильная) работает. Windows IE7 работает. Safari (последняя стабильная версия) работает.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
2 688
2

Ответы 2

Вы выполняете это в Firefox?

Потому что, согласно это, он появляется, когда вы отключаете всплывающие окна в firefox из-за способа блокировки всплывающих окон.

Включите всплывающие окна, и все готово!

Включены всплывающие окна. Не исправил. Я также снова отредактировал вопрос, чтобы указать, в каких браузерах я это тестировал. Работает во всех, кроме FF3. Но я могу нормально загружать TinyMCE на других моих сайтах. Как будто мне не хватает тега или чего-то такого?

Eggs McLaren 13.11.2008 07:59

Хорошо, нашел ответ и разместил его.

Eggs McLaren 13.11.2008 09:11

Ответ - здесь.

Дело вот в чем. Вы когда-нибудь пользовались Facebook? Мы пытались реализовать аналогичный интерфейс, в котором вы щелкаете, чтобы редактировать раздел профиля, он сворачивается и снова разворачивается с индикатором выполнения, затем сворачивается и повторно разворачивается с формой профиля. В этой форме профиля у нас был богатый редактор TinyMCE.

Что ж, оказывается, что есть причуда, когда DIV скрываются, а затем отображаются для отображения элемента управления TinyMCE. Это сбивает время, что ли? В любом случае, мы использовали API slideToggle в jQuery, чтобы свернуть и повторно развернуть DIV с новым содержимым, которое мы извлекли с помощью материала jQuery AJAX. И когда мы это сделали, API-интерфейс slideToggle каким-то образом замочил нас.

Исправление заключалось в том, чтобы сделать slideToggle как обычно, но перед тем, как мы загрузим редактор tinyMCE с техникой execCommand, нам нужно использовать show API в jQuery, чтобы гарантировать, что наш DIV будет принудительно открыт и виден в первую очередь. Когда мы это сделали, проблема исчезла.

Действительно полезный ответ! В моем случае это происходило при отображении редактора TinyMCE внутри диалогового окна jQuery (не отображался текст по умолчанию внутри моего текстового поля tinymce'd, плюс невозможно было щелкнуть внутри редактора). Обязательно сначала покажите диалоговое окно, а затем загрузите любой контент динамически (например, содержимое текстового поля по умолчанию + TinyMCE init js)

Pere 22.12.2014 14:44

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