Яркий маркер в редакторе tinymce wysiwyg iframe

Я работаю над какой-то маркировкой выделенного текста и инструментом аннотации для текстовых документов в редакторе TinyMCE. Я сделал это, обернув выделенный текст в s, но когда текст содержит некоторый вложенный HTML, он часто ломается. Я попытался обойти эту проблему, используя нестандартную библиотеку, в которой есть модуль подсветки, который делает именно то, что мне нужно, и хотя я могу заставить его работать на обычной странице, я не могу заставить его работать в TinyMCE.

Вот пример кода:

<script>
$(document).ready(function(){

    tinymce.init({
        selector    : 'textarea',
        //content_css : "css/tinymcecss.css",
        setup       : function(editor){

            editor.on('init', function(event)
            {
                var iframeMce = $('#mce_0_ifr')[0];

                rangy.init();

                highlighter = rangy.createHighlighter(iframeMce);

                highlighter.addClassApplier(rangy.createClassApplier("highlight", {
                    ignoreWhiteSpace: true,
                    tagNames: ["span", "a"]
                }));



                $('#sl-highlight').on('click', function(){

                    var selection = rangy.getSelection(iframeMce);

                    highlighter.highlightSelection('highlight', {
                        selection : selection,
                        exclusive : true
                    });

                });

            });
        }
    });

});

Что мне удалось выяснить, так это то, что я должен передать селектор iframe в качестве параметра при создании модуля подсветки. и передавая выделение в качестве параметра для функции выделения выделения, но это не работает, я получаю ошибку "TypeError: Аргумент 1 из Range.setStart не является объектом". Я попытался передать выбор TinyMCE как объект выбора, но это не сработало.

Есть идеи???

Обновление: фактически это не будет работать независимо от TinyMCE. Я попробовал то же самое с одним абзацем в iframe и получаю ту же ошибку, что и раньше.

0 ответов

Другие вопросы по тегам