Teil einer Webseite verschwindet nach dem Laden

  • Hi,
    erstmal vorweg: Ich bin nicht so ganz sicher, ob der Thread hier richtig aufgehoben ist, da der Fehler zwar nur auf einer Webseite, aber auch nur mit einem FF-Profil auftritt... wenn ich hier falsch bin, bitte verzeiht dem "Neuen" ;) und verschiebt den Thread einfach wohin er gehört.

    Ich hab auf einer Votingseite (angesagter.de) das Problem, dass nach dem Voten auf der Folgeseite ein Teil der Seite einfach verschwindet. Wenn man auf der Seite (im eingeloggten Zustand) für eins der beiden Bilder votet, sollte auf der Folgeseite links über dem Menü nochmal angezeigt werden, für wen man selbst und der Durchschnitt gestimmt haben. Dieser Teil der Seite blitzt in meinem Hauptprofil nur kurz auf und verschwindet dann sofort wieder. Und es wird nicht nur ausgeblendet, sondern richtig aus dem DOM entfernt (habe ich per Firebug und Web Developer -> View generated source gecheckt). Weder das deaktivieren aller Add Ons, noch Cache und Cookies löschen ändert etwas daran.
    In einem neu angelegten Testprofil (+ Web Developer Add On) tritt das Problem nicht auf.

    Das Ganze passiert bei mir mit Iceweasel (Debian Linux Name für den Fuchs) 3.0.1 unter (wie schon "angedeutet" ;) ) Linux.
    Zum besseren Nachvollziehen habe ich die fragliche Seite mal in verschiedenen Varianten, jeweils in ok und falsch, online gestellt.
    Unter http://mystorage.de/agcheck gibt es ein paar Dateien und Verzeichnisse:
    - ok.html und wrong.html: Das html normal über Datei -> Speichern unter gespeichert.
    - complete: Hier liegen komplettversionen, damit ihr den unterschied einfach mal sehen könnt ohne selbst das problem und einen account dort zu haben.
    - generated_source: Hier liegt das html, wie "View generated source" aus der Web Developer Extension es ausspuckt.
    - tidied: Hier habe ich die "normal" gespeicherten Dateien der Übersichtlichkeit halber einmal durch das Tool tidy mit Standardeinstellungen gejagt und anschließend ein Diff erzeugt. Im Diff ist eigentlich nur der erste Hunk relevant, die anderen Unterschiede sind normal bei multiplen Seitenabrufen.

    Egal, wie ich das Html anschaue oder speichere kann ich kein JavaScript entdecken, dass da nachträglich am DOM manipulieren würde, und bin jetzt ziemlich ratlos, woran es noch liegen könnte...
    Wäre super wenn jemand eine Idee hätte, was in meinem Profil dieses seltsame Verhalten bewirken könnte, und vor allem, wie ich es abstellen kann, ohne mein Profil zu kicken...

    Danke schon mal im Voraus,

    Stefan

  • So, hab jetzt mal Header verglichen, und die sind nahezu gleich. Nahezu, weil es nunmal zwei Sessions sind, mit eigenen Sessionids, die GET Parameter unterscheiden sich zwangsläufig auch immer ein wenig, genauso wie die Content Lenght, da der Inhalt (unter anderem wegen Ads) halt immer etwas unterschiedlich ist.
    Was mir allerdings noch aufgefallen ist:
    In dem Profil mit dem Problem habe ich Firebug 1.2.1 installiert, dieser zeigt bei den Response Headern die Content-Length nach dem Entfernen der Elemente aus der Seite, und den Response Body zeigt er erst nach einem erneuten POST auf die Url, dann aber auch die verkürzte Version ohne die verschwundenen Inhalte.
    Im funktionierenden Profil habe ich Firebug 1.2.0b4, dieser zeigt den Response Body sofort an und auch die korrekte Content-Length.
    Wenn ich den Request mit dem Problemprofil aber im Wireshark mitsniffe, sehe ich den korrekten Content-Length Header, und der fehlende Inhalt wird auch wirklich vom Server geliefert...
    Und der Firebug ist es nicht, der die Seite modifiziert, wenn ich die Extension deaktiviere, fehlt das Stück Seite trotzdem...
    Sehr mysteriös das Ganze...

  • Danke, werd ich mal testen, werd aber vermutlich erst morgen abend an den Rechner kommen.
    Der letzte Satz auf der Wiki Seite macht allerdings nicht gerade viel Mut: "Wenn alle Bemühungen nicht fruchten sollten Sie es mit einem neuem Profil versuchen."...

  • Zitat von sbunse

    Der letzte Satz auf der Wiki Seite macht allerdings nicht gerade viel Mut: "Wenn alle Bemühungen nicht fruchten sollten Sie es mit einem neuem Profil versuchen."...

    Warum?
    http://www.firefox-browser.de/wiki/Neues_profil
    geht fix und ist sehr gut erklärt!

  • Hi,
    hab es jetzt mal mit einem neuen Profil probiert und konnte nahezu alles aus dem alten übernehmen.
    Nach dem Kopieren der pref.js trat der Fehler dann wieder auf.
    Da ich sowas nicht einfach auf sich beruhen lassen kann und meine Preferences mitnehmen wollte, habe ich die gut 2000 Zeilen dann mal Stück für Stück auf Plausibilität getestet und stückweise die Unterschiede zwischen meinem und einem funktionierenden Profil eliminiert.
    Letztendlich hat sich herausgestellt, dass die Zeile:

    user_pref("intl.charset.detector", "universal_charset_detector");

    das Problem verursacht hat. Ich habe jetzt in meinem ursprünglichen Profil diese eine Zeile entfernt und es funktioniert wieder einwandfrei...

    Die genauen Zusammenhänge erschließen sich mir damit jetzt zwar noch nicht, aber es deutet ja darauf hin, dass die Seite problematisch bzw. falsch encodete Zeichen schickt, und diese, vielleicht als eine Art Sicherheitsmaßnahme, entfernt werden. Dann ist es zwar immer noch reichlich seltsam, dass der betreffende Teil der Seite erst nach dem Rendern wieder entfernt wird, aber das soll mir jetzt mal egal sein, Hauptsache es funktioniert wieder ;)
    Danke für die Tipps, sonst hätte ich mich wohl damit abgefunden, die Seite bis auf Weiteres nicht mehr zu besuchen!

    Stefan