#javascript #html #ckeditor #scayt
#javascript #HTML #ckeditor #скейт #scayt
Вопрос:
У меня есть реализация CK Editor, которая использует плагин SCAYT / GRAYT, и я обнаружил, что, по моему мнению, может быть ошибкой в самом редакторе CK.
Я использую версию 4.5.11
Рассмотрим этот HTML:
<tr>
<td align="left" bgcolor="#e6e1ce" height="30" id="table_column1" valign="middle"><span style="font-family: verdana,geneva,sans-serif,arial;">Content</span></td>
<td align="left" bgcolor="#f8f9f3" height="30" id="table_column2" valign="middle"><span style="font-family: verdana,geneva,sans-serif,arial; ">Content</span></td>
<td align="left" bgcolor="#e6e1ce" height="30" id="table_column1_2" valign="middle"><span style="font-family: verdana,geneva,sans-serif,arial;">Content</span></td>
</tr>
Когда мой редактор загружается и отображается содержимое HTML, плагины SCAYT и GRAYT начинают творить свое волшебство и проверять содержимое на наличие проблем с правописанием и грамматикой.
Проблема в GRAYT. Он ошибочно принимает текст двух <td>
элементов за одно предложение или фразу и пытается поместить <span>
вокруг них a, который должен просто указывать пользователю исправить свою грамматику.
Вместо этого он выдает этот результат:
<tr>
<span class="gramm-problem" data-grayt-phrase="Content Content">
<td align="left" bgcolor="#e6e1ce" height="30" id="table_column1" valign="middle">
<span style="font-family: verdana,geneva,sans-serif,arial;">Content</span>
</td>
<td align="left" bgcolor="#f8f9f3" height="30" id="table_column2" valign="middle">
<span style="font-family: verdana,geneva,sans-serif,arial; ">Content</span>
</td>
</span>
<td align="left" bgcolor="#e6e1ce" height="30" id="table_column1_2" valign="middle">
<span style="font-family: verdana,geneva,sans-serif,arial;">Content</span>
</td>
</tr>
Очевидно, что это недопустимый HTML и нежелательный. Реальная проблема в том, что он нарушает макет таблицы в редакторе.
Кто-нибудь знает, что я могу сделать, чтобы это исправить? Проверка документации CK Editor / Web Spell Checker не дала почти никакой информации о том, как управлять этой функциональностью. В лучшем случае я могу отключить его, что, я считаю, также нежелательно.
Комментарии:
1. Привет, @shruggernaut, взгляните на codepen.io/f1ames/pen/bwKLJK . Вы можете воспроизвести свою проблему там? Может быть, это связано с дополнительными параметрами конфигурации / конкретным html (или конкретным браузером)? Если вы сможете настроить код так, чтобы ваша проблема была воспроизводима там, вам будет легче приступить к ее решению.
Ответ №1:
Проблема, которую вы описали, известна, и мы планируем поработать над ней через несколько недель. Теперь GrammarAsYouType (GRAYT) доступен только как плагин для CKEditor 4 , и это альфа-версия. В настоящее время наша команда работает над его улучшением.
В качестве обходного пути на данный момент мы можем предложить отключить функциональность GRAYT при запуске SCAYT:
config.grayt_autoStartup = false;
В качестве альтернативы вы можете отключить проверку грамматики в таблице (td, tr). Но обратите внимание, что это повлияет как на SCAYT, так и на GRAYT (без проверки правописания <tr>
или <td>
тегов).
config.scayt_elementsToIgnore = 'tr,td';
Более подробную информацию обо всех параметрах SCAYT для CKEditor 4 , которые можно изменить, вы можете найти на нашем веб-сайте: http://wiki.webspellchecker.net/doku.php?id=scayt_parameters_ckeditor4