Wenn ich im Internet Explorer einen Seitenwechsel durchführe (Klick auf Navigation o.ä.) flackern die Inhalte bei mir. In allen anderen Browsern werden sie gescheit aus- und eingeblendet. Ich benutze
.animate()
um opacity zu verändern und anschließend erst die display-Eigenschaft per
.css()
zu setzen (der IE hat ja bekanntlich Probleme mit dem Animieren von display). Trotzdem flackert es. Hat jemand eine Idee, was ich genau falsch mache? (Btw: Laden die Unter-/Folgeseiten bei euch im IE auch alle schneller als in den anderen Browsern?)
Desweiteren habe ich ein Globales XHR-Objekt
var pageXHR
, mit dem ich Operationen abbrechen will, bevor ich neue Operationen starte. D.h., sofern es gesetzt ist, breche ich es mit
pageXHR.abort()
ab, und weise das Ergebnis des neuen Aufrufs wieder zu mit
pageXHR = $.getJSON() //.bzw pageXHR = $.ajax()
Wenn ihr euch mal per Facebook-Connect auf der Seite einloggt und dann auf die Galerie geht, wird nach dem Laden der Galerie ein kleiner Bereich nachgeladen (markierte Freunde in dieser Galerie, bleibt bei euch vermutlich leer, aber in der Konsole kann man's ja registrieren). Sofern der Nutzer einen anderen Menüpunkt anklickt (z.B. die Startseite) bevor der betr. Bereich komplett nachgeladen wurde, soll mit dem Nachladen abgebrochen und die Seite gewechselt werden. Das funktioniert aber nicht. Kann mir jemand erklären warum?
Funktioniert bei mir in allen Browsern (auch noch im IE6).. Sobald success() aber einmal aufgerufen wird, ist es zu spät, da wird dann nichts mehr abgebrochen - wenn Du das willst, musst Du (an verschiedenen Stellen oder zumindest bevor der/die/das DOM geändert wird) innerhalb Deiner onsuccess-funktion abfragen ob noch weitergemacht werden soll und falls nicht, abbrechen.
Also, das mit dem Flackern habe ich behoben. Das lag daran, dass nach jedem Reload die Seite ganz nach oben und wieder auf Höhe der Navigationsleiste gescrollt wurde.
Aber das mit dem XHR ist mir nach wie vor rätselhaft.