Функция выравнивания текста NicEdit не работает в FireFox
-
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);
}