TinyMCE: не может писать специальные символы на Mac после изменения фокуса - PullRequest
2 голосов
/ 15 марта 2012

У меня есть проблемы на некоторых Mac.Когда редактор загружается, можно вводить все виды символов.Но: После того, как я сфокусировался на другом текстовом поле (flash) на странице и вернулся в редактор, больше нельзя писать специальные символы.

С помощью специальных символов я имею в виду äöüáóíÄÖÜß («расширенный» ASCII).Возможны и другие символы (ASCII - до 127).

Любая подсказка очень ценится.Если у вас есть хорошая идея, как отладить этот или какой-либо намек на расследование, что приводит меня к ответу, он также принят.

Единственное, что я сделал, - это вставил console.log в ключевой слушатель TinyMCEв источнике.Чтобы увидеть, обнаруживается ли хотя бы нажатие клавиши.И это - консоль перечисляет все нажатия клавиш.Но символы не отображаются на экране.

В выводе консоли не отображались какие-либо ошибки или предупреждения до / когда появляется эта проблема.

Что это может быть?Может быть, это не вина TinyMCE?Насколько я видел в коде, нажатия клавиш обрабатываются только для некоторого возврата - отменить и т. Д. Задачи, но фактическая печать происходит через браузер?-> iframe with body contenteditable = "true".

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

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Обходным решением может быть перехват этих событий и их обработка в случае Mac OS:

ed.execCommand('mceInsertContent',false,'\uFFFF'); // FFFF stands for the special character coding 
0 голосов
/ 17 апреля 2012

У меня была похожая проблема, но не совсем такая же. Так что это может или не может помочь вам.

В моем случае, после того, как пользователь загрузил файл с библиотекой Plupload (нажав невидимую кнопку Flash), а затем обработчик событий вставил URL-адрес в TinyMCE через execCommand("mceInsertCommand", ...), пользователь больше не может вводить символы вообще (будут затронуты не только специальные символы). Однако клавиша Backspace все равно будет работать.

На моем Mac эта проблема касалась только Chrome, но не Safari или FF.

Мой обходной путь - временно скрыть объект флэш-памяти, задать фокус редактора с помощью editor.focus() и использовать вызов подчеркивания defer для повторного отображения объекта флэш-памяти.

...