TinyMCE: убрать JavaScript с головы - PullRequest
0 голосов
/ 03 июня 2011

Я разрешаю полное редактирование страницы, которое также имеет теги.Я добавил в качестве инвалида, и он удаляется, если я добавляю в тело, но не удаляется, если у меня внутри элемент головы.Есть ли способ справиться с этим?

Ответы [ 2 ]

0 голосов
/ 06 июня 2011

Вот фрагмент кода, который будет использоваться для этого конкретного случая использования:

    switchStyle: function(url,tiny_id,url_to_replace){
        ed = tinymce.get(tiny_id);

        doc = $(ed.getBody().ownerDocument);

        // get stylesheet info alternative
        sheets = ed.getParam('content_css_alt');
        sheets_urls = [];

        if (url_to_replace){
            sheets_urls.push(url_to_replace);
        }
        else{
            sheets_urls.push(ed.getParam('content_css'));
            if (typeof sheets == "string"){
                sheets_urls.push(sheets);

            }
            else {
                for (var i = 0; i < sheets.length; i++) {
                    sheets_urls.push(sheets[i].url);
                }
            }
        }

        // remove all stylesheets from sheets_urls
        doc.find('link').each(function() {

            if (tinymce.inArray(sheets_urls, $(this).attr('href').split('?')[0]) !== -1) {
                $(this).remove();
            }
        });

        // set stylesheet
        doc.find('head:first').append('<link rel="stylesheet" href="' + url + '"');

    },
0 голосов
/ 04 июня 2011

Я не могу понять ваш вопрос очень ясно. Хотя, я полагаю, это может быть проблема, с которой вы столкнулись.

Вы устанавливаете «invalid_elements» во время инициализации в tinymce.

Возможные причины:

Когда вы добавляете его в раздел head, он наверняка определен до его использования. Также код в теге head будет выполняться до этого в теле (порядок загрузки страницы).

При использовании JavaScript во фреймах вы должны поместить весь JavaScript с элементами HEAD, иначе вы не сможете гарантировать, что фреймы будут отображаться правильно. TinyMce использует iframes для имитации того, что вы вводите в форматированный текст. Так что может возникнуть конфликт из-за этой ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...