Web Designer 10 -> iFrame Flackern beim ändern der Höhe

kcx650 schrieb am 22.05.2014 um 23:32 Uhr

Hallo liebe Magix Gemeinde.

 

Ich habe bisher WebDesigner 9 Premium benutzt und eben Version 10 installiert.


Mein Projekt besteht aus verschachtelten iFrames, welche (teilweise) dynamisch erzeugt werden.
Mit der Höhe des iFrames wird jeweils die Höhe des übergeordneten Dokuments dynamisch angepasst.

Die Seite ist hier zu sehen: www.shv-computer.de

Die Funktion zur Veränderung der Dokumentenhöhe sieht so aus:

function resize_Content(minheight)
{
    height= 890;
    if (height< minheight) height= minheight;

    parent.document.getElementById("Anzeige").height = 100;
    parent.document.getElementById("Anzeige").height = height+35;

    parent.parent.document.getElementById("Main").height = 100;
    parent.parent.document.getElementById("Main").height = height+35;

 }

(Interessanterweise muss man das Dokument zunächst verkleinern
 bevor man es anschließend erfolgreich vergrößern kann)

In der Version 9 funktioniert das auch sehr schön.
In Version 10 führt jede Änderung der Höhe zu einem Neuladen (?) des Dokuments,
was zu heftigem Flackern führt.


Kann man das irgendwie abschalten/ umgehen ?

 

Gruß

kb

Kommentare

marboe schrieb am 22.05.2014 um 23:47 Uhr

Hallo, bist du gerade am basteln? Ich sehe nur eine fast weiße Seite mit einem Header oben und unten zwei Buttons. Gruß Martina

kcx650 schrieb am 23.05.2014 um 09:02 Uhr

Oh,  sorry...

Du hast bestimmt von einem mobilen Device (Handy oder Tablet) geschaut !?

Da hatte ich gestern Nacht nicht aufgepasst und es war eine Browserweiche
zu einer (sehr) unfertigen mobilen Version der Seite aktiv.

Nun sollte es wieder gehen...

 

kcx650 schrieb am 23.05.2014 um 23:00 Uhr

Ich habe mal weiter nach dem Fehler geforscht und diesen
in der Funktion xr_aeh() in roe.js gefunden. Diese Funktion
wird immer nach dem Laden eines von WebDesigner erzeugten
Dokuments aufgerufen (also quasi "onLoad").

Das Problem ist nicht, wie anfänglich gedacht, die Größenänderung
eines iFrames. Das Flackern ist wohl eher ein Reload, welcher
immer ausgelöst wird, wenn ein Dokument einen iFrame beinhaltet.

Jedenfalls ist dieser Reload auch sichtbar, wenn die Seite(n) im iFrame
ungültig ist (sind). An einem Resize (oder sonst einer Funktion innerhalb des iFrames)
kann es also nicht liegen...

Am Ende der Funktion xr_aeh()
steht folgendes:

    xr_bl();
    if(xr_spapn)
     xr_prinit4();

    var or=document.getElementById('xr_xr');
    xr_rld(or);

    or.xr_i=1;
    xr_hash();


   Das Div xr_xr wird in die Variable or geladen und die Funktion xr_rld(or) ausgeführt.
   xr_xr is der den gesamten body des Dokuments umgebende Container.
   Was die Funktion xr_rld() bewirken soll ist mir nicht klar (rld == reload ?).
  
   Jedenfalls funktioniert die Seite absolut fehlerfrei und ohne "Flackern", wenn
   die Zeile xr_rld(or) auskommentiert wird.

   Nun müßte ich die Bibliothek roe.js nach jedem Export editieren oder ersetzen.
   Eventuell wäre es auch möglich die Datei mit einem Schreibschutz zu versehen.
   Allerdings wird diese Funktion einen Sinn haben, auch wenn ich den momentan
   nicht erkenne...
  
   Kann dieses Problem eventuell an einen Programmierer zwecks Überprüfung
   bzw. Fehlerbereinigung weitergeleitet werden ?

   Gruß

   kb

 

marboe schrieb am 11.06.2014 um 08:32 Uhr

hallo,der Sinn des Ganzen ist meines Wissens ein sehr userfreundlicher. Die Seite wird nämlich schon angezeigt während das iframe nachgeladen wird. Ist es fertig geladen wird es angezeigt und es kommt zum Flackern. Seine gefundene Lösung klingt doch brauchbar. Auch wenn der User dann warten muss bis alles geladen ist. Gruß Martina