Iframe и object в редакторе TinyMCE

Сегодня столкнулся с тем, что в одном из проектов где используется визуальный редактор TinyMCE, iframe удаляется при переходи в визуальный режим или сохранении… (к примеру вставка какрты Google и т.д.)
Порывшись в инете, ничего стоящего не нашлось.. :( одни вопросы и никаких ответов.
В итоге порывшись в редакторе и посмотрев пример инициализации редактора, увидел интересный параметр extended_valid_elements

В итоге для того чтобы заработал iframe нужно добавить в раздел инициализации tinyMCE.init строку:

1
extended_valid_elements : "iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width]"

для object:

1
extended_valid_elements : "object[declare|classid|codebase|data|type|codetype|archive|standby|height|width|usemap|name|tabindex|align|border|hspace|vspace]"

или же можно запись объединить:

1
extended_valid_elements : "iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width],object[declare|classid|codebase|data|type|codetype|archive|standby|height|width|usemap|name|tabindex|align|border|hspace|vspace]",

Обрезанный пример инициализации:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
	tinyMCE.init({
		//--debug
		// General options
		mode : "exact",
		theme : "advanced",
		elements : "$e_Name",
		language : "ru",
		width : "$e_width",
		height : "$e_height",
		plugins : "ImageLoader,safari,layer,table,style,advhr,spellchecker,advimage,emotions,inlinepopups,insertdatetime,media,searchreplace,print,contextmenu,paste,fullscreen,nonbreaking",
		relative_urls : false,
		convert_urls : false,
		force_br_newlines : true,
        	                forced_root_block : '',
		force_p_newlines : false,
		dialog_type : 'window',
		extended_valid_elements : "div[align|class|style|id|title]",
		extended_valid_elements : "iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width],object[declare|classid|codebase|data|type|codetype|archive|standby|height|width|usemap|name|tabindex|align|border|hspace|vspace]",
		// Theme options
.......................

Для добавления других элементов пишите сам элемент и в скобках его возможные параметры… узнать все параметры нужно смотреть спецификации HTML, например здесь http://www.w3.org/TR/1999/REC-html401-19991224/


18 responses so far, want to say something?

  1. Дмитрий says:

    Спасибо автору. Помогло сходу решить проблему

  2. Эдуард says:

    вот спасибо

  3. Сергей says:

    Спасибо, теперь могу вставлять выдео vkontakte на сайт!

  4. Татьяна says:

    спасибо, помогло!

  5. Давид says:

    Огромное спасибо!!!

    Спасибо автору, он помог многим решить эту столь не редкую проблему.

  6. Валентин says:

    Огроменное спасибо!

  7. morozovol says:

    У меня всё равно не получается
    На выходе всё режется
    и iframe и object
    это со стороны frontend
    со стороны backend вроде нормально
    делать то чего???

  8. admin says:

    Если все правильно сделали, должно быть все ОК…

  9. morozovol says:

    Сделал так
    в файле tinymce.php в разделе tinymce.init поставил
    extended_valid_elements : \»iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width]\»,
    он заработал со стороны админа
    снаружи – нет
    вы сами то пробовали снаружи поставить iframe?
    зарегистрироваться с правами редактора, допустим, и через tinymce вставить в статью видео с youtube через iframe

  10. admin says:

    Вы сейчас говорите про какой то конкретный движок?? я использую на собсвенной CMS и конечно же снаружи код так же работает… а не только в админке.

  11. morozovol says:

    про Joomla 1.5

  12. admin says:

    Я ее не использую, но на сколько помню там в в параметрах плагина TinyMCE есть фишки, типа не резать код, не чистить его итд.. Удалите нужные теги из чёрного списка, если они там есть. Если нет – внесите в белый.
    плюс попробуй отключать мамботов группы content, может кто-то из них режет…

    Вообще джумла это гемор… да как собственно все движки не писаные своими руками :)

  13. morozovol says:

    за неимением горничной.., сам понимаешь:-(
    никак, везде поубирал iframe где нашёл, добавил в разрешённых
    режет и всё тут, сразу
    даже без сохранения
    только включил, отключил редактор

  14. admin says:

    Дык да… тут я не помошник, только рыть форумы джумлы…

  15. Стас says:

    Я немного не понял, куда вставлять эти коды?? можно пожалуйста конкретный путь к файлу/папки, пользуюсь я cms Joomla 1.5.22

  16. Киевцелитель says:

    Хороший у Вас сайтец. Добавляю закладку.

  17. admin says:

    Читайте выше, я не использую джумлу, заметка написана для тех, кто сам пишет сайты, или по крайней мере разбирается в программировании…

  18. Алексей says:

    А что мешает в настройках плагина убрать iframe из списка тегов которые обрезаются? В Joomla 1.6 была у меня такая проблема, правда кроме настроек редактора нужно еще в менеджер материалов->Настройки ->Фильтр текста убрать фильтрацию

Оставить коммент

Скажите ч-и-и-и-з Работать негры :) Хорошо в деревне летом :-) Моя мечта, но так она далека... :) Моя вторая женщина :) Тирренское море