Problem mit colorbox Neuladen der iframe-Inhalte auf colorbox.Größe

Bin ich mit colorbox (jquery-plug-in), um eine multi-Schritt-sign-up-Prozess. Ich bin mit der colorbox im "iframe" - Modus.

$('#signup').colorbox({
    width:     '500px', 
    height:    '250px', 
    opacity:   '.5',
    scrolling: false,
    fixed:     true,
    iframe:    true
});

Da die Inhalte der verschiedenen Stufen haben unterschiedliche Höhen, ich möchte mich für die colorbox Größe ändern sich automatisch, wenn es lädt ein neuer Schritt.

Ich verwende den folgenden code in den iframe-Inhalt (einfach in ein script-tag in der Nähe des Ende des Dokuments):

$(function() {
    var iH = $(document.body).height();
    console.log("iframe height: " + iH);
    parent.$.colorbox.resize('height', iH);
}); 

Vorher hatte ich versucht, eine einfachere version:

parent.$.colorbox.resize();

Aber in beiden Fällen habe ich am Ende mit dem, was scheint eine Endlosschleife: der Inhalt des iframe wird endlos geladen und nie wirklich angezeigt (ich kann tatsächlich sehen, dass es blinkt manchmal).
Der iframe verkleinert, in der Prozess (bei der ersten Schleife), so scheint es teilweise funktioniert. Aber die neue Größe scheint zu klein für den beabsichtigten Inhalt, so dass ich nicht wirklich wissen...

Eine Idee warum das nicht funktioniert und wie man dieses Problem lösen?

Update:
Wenn ich das obige script (einfache version) auf den zweiten Schritt machen und nicht auf der ersten, vermeide ich die endlos-Schleife, aber wenn ich auf gehe zum zweiten Schritt, der erste Schritt ist tatsächlich geladen anstatt den zweiten Schritt.

Dasselbe gilt, wenn ich dieses Skript auf dem Dritten Schritt: der erste Schritt ist geladen, statt.

Es scheint also, dass bei der Ausführung seiner "Größe ändern" - Funktion, colorbox Art neu gestartet, alles von Anfang an?...

  • Was passiert, wenn Sie initialWidth und initialHeight anstelle von Höhe und Breite mit und ohne nachfolgende Aufruf von resize?
  • btw sind Sie noch auf der Suche für eine Antwort?
  • Ich ein bisschen aufgegeben, aber ich bin immer noch neugierig, diese zu lösen. Ich hatte nicht darüber nachgedacht, initialHeight statt Höhe. Ich werde es versuchen, morgen.
  • Nach einigen tests scheint es mir, dass das problem im Zusammenhang mit der Tatsache, die ich verwenden colorbox im iframe-Modus. In diesem Modus werden weder initialWidth/initialHeigh noch maxWidth/maxHeight scheinen, um richtig zu arbeiten (Sie öffnen sich immer in einem iframe mit einer Größe nahe null). Also meine Vermutung ist, dass die resize-Funktion ist nicht dazu gedacht, um die Arbeit in einem iframe Modus entweder.
InformationsquelleAutor s427 | 2011-09-16
Schreibe einen Kommentar