Как я понимаю, CKEditor автоматически удаляет пустые анкеры. Проблема в том, что многие HTML-аддоны используют пустые привязки и сохраняют их в JavaScript после загрузки страницы.CKEditor - Автоматическое удаление пустых якорей
например. Если я хотел бы использовать AddThis они позволяют мне добавить следующий код:
<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
<a class="addthis_button_tweet"></a>
<a class="addthis_button_pinterest_pinit"></a>
<a class="addthis_counter addthis_pill_style"></a>
</div>
И после того, как я изменить дисплей от источника к Разработайте CKEditor является удаление всех анкеров.
Я знаю, что если я добавлю к якорям, CKEditor не удалит их, но в моем случае я не смогу это использовать.
Я нашел строку, удаляя ссылки в файле: /ckeditor/ckeditor_4.0.1_full_source/core/htmldataprocessor.js Lines: 536-540
Они добавляющие правило htmlFilter, что удаление любой пустой якорь. Теперь я знаю, что могу редактировать исходный файл CKEditor и изменять это, но мне не нравится сделать это, потому что в любое время, когда я обновляю версию, мне нужно будет использовать одно и то же исправление, поэтому мне нравится исправить его с помощью CKEditor API.
Я нашел, как добавить правило в следующем виде:
CKEDITOR.instances['instanceName'].dataProcessor.dataFilter.addRules(
{
elements :
{
a : function(element)
{
//Do what i like to do
}
}
});
Проблема заключается в том, что даже когда я добавить правило для тега его до сих пор не перезаписывать правила, которые сделали CKEditor.
Есть ли способ переписать это правило или решить эту проблему по-другому?
Можете ли вы попробовать его с помощью CKEditor 4.1, а затем включить автоматическую фильтрацию содержимого «истина»?Это просто позволяет все и может решить проблему. – Nenotlep
Я уже пробовал это решение и его не помогло. Он оставляет «скрипт», но он все равно удаляет теги «a». Спасибо, в любом случае. –