ich: (PHP)(Firefox) Bilderwechsel bei onMoseOver/Out

Hallo

ich habe da ein sehr merkwürdiges Problem im Firefox (3.5.5). Es gibt da ein PHP Kontaktformular mit ein paar verlinkten Grafiken. Diese Grafiken sollten bei OnMoseOver bzw OnMouseOut auch wechseln, was in anderen PHP Dateien mit dem gleichen Code auch so funktioniert. Das Menü, das aus diesen Grafiken besteht, wird per Include in alle möglichen anderen Dateien mit eingebunden und dort gibt es dieses Problem nicht.

Wenn man aber nun mit der Maus über einen Menüpunkt geht passiert nichts. Ruft man eine andere Seite aus dem selben Verzeichnis auf ist das Menü funktionsfähig. Ruft man das Kontaktformular im Internet Explorer auf, so funktioniert es auch hier (dabei erzeugt der PHP code kein unterschiedliches HTML für verschiedene Browser).

Jetzt kommt das, was ich nicht verstehe - schaut man sich im Firefox den HTML Quellcode des Formulars an und speichert ihn in eine Extra HTML Datei, so funktioniert das Menü auf einmal (wenn man es da speichert wo die Bilder und die externe JS datei gefunden werden können). Dabei ist der Abstand zwischen den einzelnen Menüpunkten etwas geringer als bei dem, was der Webserver ursprünglich geschickt hat.

Wenn ich das also richtig sehe, dann sollte über PHP erzeugter statischer HTML und JavaScript code immernoch inhaltlich mit dem übereinstimmen, was man bei Quelltextansicht und speichern unter auf die Festplatte holt. Das scheint aber nicht der Fall zu sein. Und der IE hat damit generell kein Problem - da klappt es auch direkt vom Server ohne abspeichern.

Irgendwie klingt das so, wie nicht vollständig geladen - aber warum sollte es dann bei STRG+U (Quelltext anzeigen im FF) was anderes zu sehen geben?

  1. Liebe(r) ich,

    ich habe da ein sehr merkwürdiges Problem [...]
    Jetzt kommt das, was ich nicht verstehe - [...]
    Irgendwie klingt das so, wie nicht vollständig geladen - aber warum sollte es dann bei STRG+U (Quelltext anzeigen im FF) was anderes zu sehen geben?

    Sie müssen nur die Nippel durch die Lasche zieh'n, und mit der kleinen Kurbel ganz nach oben dreh'n...

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Sie müssen nur die Nippel durch die Lasche zieh'n, und mit der kleinen Kurbel ganz nach oben dreh'n...

      Da ich absolut keine Ahnung hatte woran das lag, lies sich die Frage nicht besser Formulieren. Quelltext hätte auch nichts genutzt, weil einem der Unterschied zu den anderen Seiten nicht auffällt.

      Dieses Formular wurde als einziges Dokument mit dem Header Content-type: application/xhtml+xml; charset=UTF-8 ausgeliefert - falls der benutzte Browser "application/xhtml+xml" kann (dazu wurde $_SERVER['HTTP_ACCEPT'] ausgelesen ohne gezielt nach dem Browser zu fragen). in allen anderen Dokumenten wird das nicht nochmal extra über header() gesendet. Daher funktionierte es auch, sobald es lokal gespeichert war, denn dann wird ja kein extra Header mehr geschickt.

      Und es funktionierte im IE 8 weil der entweder (noch immer) kein application/xhtml+xml kennt oder weil das da anders umgesetzt wurde.

      1. Hallo ich,

        Da ich absolut keine Ahnung hatte woran das lag, lies sich die Frage nicht besser Formulieren. Quelltext hätte auch nichts genutzt, weil einem der Unterschied zu den anderen Seiten nicht auffällt.

        bisher hast du sehr genau beschrieben, das die Seite, auf der du etwas anders gemacht hast, nicht funktioniert. Woran das liegt, lässt sich im Moment, wenn überhaupt, nur erraten. Besser wäre ein Link zur nicht funktionierenden Seite (und evtl. auch zur funktionierenden). Wenn du den Inhalt oder die Originalurl nicht angeben möchtest, erstelle eine abgespeckte und anonymisierte Testseite, die den Fehler zeigt, und lade sie irgendwo hoch.

        Gruß, Jürgen

        PS: Was meldet die Fehlerkonsole?