Плагин GRAYT нарушает HTML в редакторе

#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