| 

.NET C# Java Javascript Exception

3
Moin allerseits.

Schaut euch doch bitte einmal folgende Seite an:
http://live.pageworkx.de/

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?

Vielen Dank schon mal im Voraus.
Betroffene Zeilen in der Datei http://live.pageworkx.de/includes/js/animation.js:
// Zeile 13:
var pageXHR = {};

// Zeile 795: Funktion zum Laden der Unterseiten
function reloadPage();

// Zeile 76: Funktion zum Nachladen des kleinen Bereichs
$.fn.cwPluginLoad = function();

// Zeile 461: Funktion, die Seitenbereich ein- und ausfadet
function replaceView();
News:
20.02.2012
johny7 521 1 8
2 Antworten
1
Du müsstest mal einen einfacheren Test aufbauen.

http://jsfiddle.net/Nh8Xu/

abort() ruft dabei onerror auf.

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.
21.02.2012
WolfgangKluge 1,0k 2 7
0
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.
20.02.2012
johny7 521 1 8

Stelle deine Javascript-Frage jetzt!