Функция выравнивания текста NicEdit не работает в FireFox

StackOverflow https://stackoverflow.com/questions/2535492

  •  22-09-2019
  •  | 
  •  

Вопрос

Я обнаружил проблему с NicEdit (Rich text editor) при вводе некоторого текста и нажатии кнопки "выровнять", чтобы выровнять текст.Текст не выровнять только на Firefox и получил это сообщение в консоли Firebug

неперехваченное исключение:[Исключение..."Компонент вернул код ошибки:0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult:местоположение "0x80004005 (NS_ERROR_FAILURE)":"JS рамка :: http://js.nicedit.com/nicEdit-latest.js ::Аноним ::строка 38" данные:нет] Строка 0

Пожалуйста, не могли бы вы помочь мне решить эту проблему.

Спасибо,

Это было полезно?

Решение

Если вы используете сжатый код, перейдите к строке 37 и найдите этот код:

Выполните поиск по B.contentEditable

Вы найдете условие if, точно подобное этому:

if (B.Редактируемый || !!window.opera)


Замените его этим:

if ((B.contentEditable || !!window.opera) && navigator.UserAgent.indexOf("Firefox/3") == -1)

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

Приведенный выше ответ переведет вас в режим iFrame, который работает довольно медленно.Вам лучше взглянуть сюда: http://web2.0goodies.com/blog/javascript/nicedit-firefox-center-and-right-align-bug-patch/.Это фактически "исправит" ошибку FF.

Просто добавьте это: document.execCommand('StyleWithCSS', false, false); ...прямо перед вашим execCommand(cmd, false, val) команда.Около линии 576.

       nicCommand : function(cmd,args) {
          if(navigator.appVersion.indexOf("MSIE") <= 0) {
              //do not use for IE
              document.execCommand('StyleWithCSS', false, false);
          }
            document.execCommand(cmd,false,args);
        }       
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top