Возможно ли создать блок кода в CKEditor, который не будет затронут самим редактором и будет поддерживаться в его предполагаемом состоянии до тех пор, пока пользователь не изменит его явно? Я пытался ввести переменные javascript (связанные в тегах сценария) и следующий флэш-фильм, но CKEditor продолжает переписывать мой вставленный код / разметку, и при этом нарушает мой код.
Я работаю со следующей настройкой:
<script type="text/javascript">
var editor = CKEDITOR.replace("content", {
height : "500px",
width : "680px",
resize_maxWidth : "680px",
resize_minWidth : "680px",
toolbar :
[
['Source','-','Save','Preview'],
['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['Link','Unlink','Anchor'],
['Image','Table','HorizontalRule','SpecialChar']
]
});
CKFinder.SetupCKEditor( editor, "<?php print url::base(); ?>assets/ckfinder" );
</script>
Полагаю, что наиболее идеальным решением было бы сохранить содержимое любого тега, содержащего class="preserve"
, что позволяет гораздо больше, чем ограниченные эксклюзивы.
Обновление : я думаю, что решение этой проблемы находится в CKEDITOR.config.protectedSource()
, но мой опыт регулярных выражений оказывается слишком юным, чтобы справиться с этой проблемой. Как бы я освободил все теги, которые содержат «сохраненный» класс, от прикосновения CKEditor?