2010-04-12 8 views
15

Ich möchte, dass Benutzer eingebettete Tags für Videos (youtube, vimeo usw.) in den HTML-Editor von tinymce kopieren und einfügen können. Ich habe jede Lösung ausprobiert, die ich im Internet finden kann - allerdings löscht tinymce immer alle eingebetteten Tags im Video-Einbettungscode, wenn ich im HTML-Editor auf update drücke.Wie konfiguriere ich Tinymce, um das Einbetten von Tags beim Editieren von HTML zu erlauben?

Hier ist meine aktuelle tinymce Init-Skript: ... was ich nicht will ... dann funktioniert, alles zu tun:

tinyMCE.init({ 
    mode: "textareas", 
    valid_elements: "*[*]", 
    extended_valid_elements: "embed[width|height|name|flashvars|src|bgcolor|align|play|loop|quality|allowscriptaccess|type|pluginspage]", 
    theme: "advanced", 
    theme_advanced_buttons1: "code", 
    media_strict: false 
}); 

Wenn ich tinymce der „Bereinigung“ Funktionalität (false Bereinigung) deaktivieren wie gewünscht

Ich habe viele Versionen von extended_valid_elements und andere Optionen ausprobiert, aber nichts gefunden, was funktioniert. Was mache ich falsch?

Vielen Dank im Voraus, Shane

Antwort

17

Für was es wert ist - nach viel Versuch und Irrtum habe ich gelernt, dass Sie die Medien-Plugin media_strict zur Arbeit kommen enthalten muss. Wenn das irgendwo dokumentiert ist, muss ich es verpasst haben. Hier ist ein aktualisierte Init-Skript, das ich embed-Tags über den HTML-Editor in tinymce einzufügen erlaubt:

tinyMCE.init({ 
    mode: "textareas",  
    plugins: "media", 
    theme: "advanced", 
    theme_advanced_buttons1: "code", 
    media_strict: false 
}); 

Diese bekannt ist mit tinymce ver 3.2.5 & 3.3.8 zu arbeiten - aber wie unten angegeben könnte Probleme haben mit tinymce ver 3.3.5

+1

Dies funktioniert für mich im Editor, aber wenn Sie die Post-Daten senden codiert es bestimmte < and > Zeichen als HTML-Entitäten. Alles, was ich in Bezug auf die zusätzlichen Init-Parameter versucht habe, wird dies nicht beseitigen. Irgendwelche Tipps? – DonutReply

+0

Hey Oliver - es scheint, dass die neueste Version von tinymce (3.3.5.1) den obigen Konfigurationscode durchbricht. Eine Anzahl von Benutzern auf den ynymce-Support-Boards scheint das gleiche Problem zu haben. Wir haben kürzlich für den Tabellen-Support ein Upgrade durchgeführt - und die Youtube-Embed-Funktion funktioniert nicht mehr. Ich hatte keine Zeit, das Problem (wieder) zu beheben - aber ich werde die Antwort posten, wenn ich es tue. – jskunkle

+0

Dieses Problem wurde heute noch einmal wiederholt, da unsere Flash/Video-Einbettung seit dem Upgrade auf Version 3.3.5 unterbrochen wurde. - Das Upgrade auf Version 3.3.8 von tanymce hat unser Problem behoben. Auch aktualisierte Antwort (oben) mit ein bisschen mehr Info – jskunkle

1

FYI, ich habe auch die iFrame fix wenn Sie GOOGLE MAPS zum Beispiel einplanen.

extended_valid_elements: "iframe[src|width|height|name|align], embed[width|height|name|flashvars|src|bgcolor|align|play|loop|quality|allowscriptaccess|type|pluginspage]", 
3

Wenn Sie versuchen, diese von einem tinymce Plugin erreichen dann den folgenden Code ein, den Trick im Abschnitt init Plugins tun können. Diese

ed.onPreInit.add(function() { 
       // Allow video elements 
       ed.schema.addValidElements('object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]'); 
      }); 

wird von den Medien-Plugin übernommen.