TinyMCE:从头部删除Javascript

时间:2011-06-03 18:48:47

标签: javascript tinymce

我允许使用全页编辑功能和标签。我添加了作为invalidelement,如果我在体内添加它,它会被删除,但如果我在head元素内部它不会被删除。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

我无法清楚地理解你的问题。 虽然,我认为这可能是你面临的问题。

在初始化时,您正在设置“invalid_elements”。

可能的原因:

在head部分下添加它时,可以确定脚本在使用之前已定义。此外,head标签中的代码将在正文中执行(页面加载顺序)。

在框架中使用JavaScript时,必须将所有JavaScript放在HEAD元素中,否则无法保证框架能够正确显示。 TinyMce使用iframe来模拟您在富文本中键入的内容。因此,由于这种情况可能会发生冲突。

答案 1 :(得分:0)

以下是用于该特定用例的代码段:

    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 + '"');

    },