TinyMCE хорошо рисует, но не даст мне набрать его. В FF кнопки имеют ошибку: компонент возвратил код ошибки: 0x80004005 - PullRequest
1 голос
/ 13 ноября 2008

В предыдущих приложениях я мог заставить 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 (последняя стабильная версия) работает.

Ответы [ 2 ]

4 голосов
/ 13 ноября 2008

Ответ здесь .

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

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

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

0 голосов
/ 13 ноября 2008

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...