Игнорировать / заменить атрибуты элемента в TinyMCE - PullRequest
5 голосов
/ 10 октября 2011

Я искал без результатов, кто-нибудь здесь знает, как игнорировать и / или заменить атрибуты элемента в TinyMCE?

Например:

<table cellpadding="0" cellspacing="0" class="tdTable" style="margin: 0 20px 0 0;">

Я хотел бы заменить код выше на:

<table cellpadding="0" cellspacing="5">

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

tinyMCE включает эту функцию в свой dom.parser:

    tinyMCE.activeEditor.dom.Serializer.addAttributeFilter('class,style', function(nodes, name) {
        for (var i = 0; i < nodes.length; i++) {
            console.log(nodes[i].name);
            tinyMCE.dom.setAttrib(nodes[i], 'class', null);
            tinyMCE.dom.setAttrib(nodes[i], 'style', null);
            // Process the nodes here (e.g. set attribute to null or delete Attribute)
        }
    });

Вы также можете применить изменение для всего массива:

    tinyMCE.activeEditor.dom.Serializer.addAttributeFilter('class', function(nodes, name) {
        tinyMCE.dom.setAttrib(nodes, 'class', null);
    });
    tinyMCE.activeEditor.dom.Serializer.addAttributeFilter('style', function(nodes, name) {
        tinyMCE.dom.setAttrib(nodes, 'style', null);
    });

Смотрите здесь для полной документации функций: http://www.tinymce.com/wiki.php/API3:namespace.tinymce.dom

1 голос
/ 10 октября 2011

используйте параметр invalid_elements при инициализации редактора, например, я использую:

invalid_elements: '@[onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],script,input,select,option,button,textarea,form',

, чтобы избавиться от всех упомянутых элементов / атрибутов в выходном тексте

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