Wie automatisches ändern der Größe von tinyMCE?
Habe ich ein TinyMCE-Editor, der über eine TextArea, und ich will diesen editor-Bereich zu ocuppy alle den Raum des übergeordneten div, der alle Zeiten.
Ich habe eine JS-Funktion, die den aktuellen Raum und die textarea-Komponente.Stil.Höhe, aber wenn ich erlaubt der TinyMCE scheint es nicht mehr funktioniert.
Auch die textarea hat width: 100%; es hat nicht die Größe von HTML-rendering, wenn es mit TinyMCE zu.
Irgendwelche Ideen?
InformationsquelleAutor der Frage igorsantos07 | 2009-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Heute, sollten Sie die autoresize-plugin , kommt mit tinyMCE. Sie haben zu rufen tinyMCE wie folgt aus (jQuery-version):
Ich die Erfahrung gemacht, dass es hilfreich sein kann, um manuell rufen Sie die Größenänderung in der
init_instance_callback
um die richtige Höhe auf init. Fügen Sie diese parameter mit der übergebenen Optionen, wenn Sie diesen brauchen:InformationsquelleAutor der Antwort bfncs
Der Punkt ist, dass TinyMCE erzeugt einen iframe an der Stelle der textarea mit dieser ID: originalID+"_ifr", und eine Tabelle originalID+"_tbl" für die Aufnahme der Steuerelemente und den editor-Bereich.
Zu machen, fluid width:
Um fluid Höhe:
Ändern dinamically
document.getElementById(id+'_ifr').style.height
zu der Höhe, die Sie wollen, durch JS.Dies ist das Skript, das ich verwende:
Können Sie den code und Funktionsaufrufe innerhalb
onload
undonresize
body
Veranstaltungen.InformationsquelleAutor der Antwort igorsantos07
in tinymce 3.4.6,
set
in der init-option wird das problem lösen.
InformationsquelleAutor der Antwort ZHAO Xudong
Wenn du tust tiny MCE dynamisch über JS, man kann es timing-Probleme, wo der MCE editor ist noch nicht verfügbar für den style-Anpassungen. Um dies zu bekämpfen, können Sie eine alte Schule timeout.
In diesem Beispiel verwende ich ein "j" namespace JQuery. Wenn Ihr editor in einer Flüssigkeit div Größe ändert, möchten Sie vielleicht auch in ein $(window).resize(Funktion() { }); listener.
InformationsquelleAutor der Antwort Noel Baron
Keines der oben genannten waren für mich zu arbeiten im TinyMCE v4, also meine Lösung war die Berechnung der Höhe auf der Grundlage der Symbolleisten/Menüleiste/Statusleiste, und legen Sie dann die Höhe des Editors, wobei diese Höhen zu berücksichtigen.
In meinem Fall wollte ich das editor-Fenster entsprechen der Breite und Höhe der tatsächlichen
window
da der editor kommen würde, bis in einem popup-Fenster. Um änderungen zu erkennen und die Größe ändern, habe ich diese auf eine callback:InformationsquelleAutor der Antwort Kyle Falconer
Mit version 4 und die option zur Verwendung von flexbox-layout im browser habe ich Folgendes zu erhalten, in voller Breite, - Höhe, - Erfahrung im Bearbeiten des übergeordneten div.
Sollte es einfach sein zu setzen, das css in einer Datei, wenn Sie bevorzugen, indem es auf Ihre vorhandenen Formatvorlagen.
Die Idee ist, dass es alle benötigten divs nehmen so viel Spalte Platz wie benötigt, zum füllen der Eltern 100%, und Ihr realisiert, indem ein div um deine textarea:
<div class="tinycme-full"> <textarea ... /></div>
Kein jquery oder andere Abhängigkeiten benötigt werden, und es füllt nun die Eltern 100%.
InformationsquelleAutor der Antwort Poul K. Sørensen
Ich hatte das gleiche problem, nach dem Lesen dieses thread landete ich mit diesem code
Ich die Größe der "_ifm" - element anstelle des "_tbl", da die Größe des "_tbl" hat nicht die Größe der edit-Bereich für mich. Dann lasse ich etwas Platz für die Symbolleiste und die Statusleiste, indem Sie die "_ifr" 85 Pixel kürzer als der div-container.
Musste ich setTimeout, damit es funktioniert, vielleicht, weil ich eine animation zeigt, dass das container-element.
InformationsquelleAutor der Antwort emmanuel2004
SyCoDeR ist richtig, aber ich folgte einem etwas anderen Weg, obwohl wahrscheinlich mit den gleichen Ergebnissen.
Überarbeitet, da der TinyMCE ändert sich die id ' s mit Menü/Symbolleiste, Ergänzungen oder Streichungen. Das funktioniert, egal, was Sie tun.
InformationsquelleAutor der Antwort liquibyte
Den wrapper iframe (seine ID-finish _ifr) ist der erste Elternteil der Frequenzbereich, in dem es Anwendung als Rolle .
So, Um die wrapper :
So, um die Größe Höhe:
Größe ändern, Breite
InformationsquelleAutor der Antwort Abdennour TOUMI
Ich bin mit reinen css-Lösung, um dies zu erreichen (tinyMCE 4.0.20).
Festlegen, iframe Höhe von 100%:
tinymce.init({
height: '100%'
})
Fügen Sie Stile hinzu, um Größe automatisch anpassen, iframe-container:
.mce-Editor tinymce { height: auto; width: 100%; position: absolute; left: 0; top: 0; bottom: 0; }
.bq-editor .mce-container body { height: 100%; }
.bq-editor .mce-edit-Bereich { position: absolute; top: 57px; bottom: 0; width: 100%; height: auto; }
Hinweis: ich habe eine Symbolleiste Linie und top: 57px; in .bq-editor .mce-edit-Bereich ist die Symbolleiste Polsterung.
InformationsquelleAutor der Antwort SyCoDeR
Keine dieser Lösungen gearbeitet, 100% für mich. Ich brauchte die Höhe anpassen, bei der Initialisierung und während der Bearbeitungen. Was ich gemacht habe ist, greifen die Höhe des HTML-Elements, in das iFrame, und dann angewendet, die Höhe des iFrame mit einer extra 100px.
Hier ist meine Lösung: (Hinzugefügt img max-width für responsive images)
bei der Initialisierung
auf Knoten ändern (edits)
InformationsquelleAutor der Antwort DobotJr