Skriptfehler
twb
- javascript
Liebe alle - ich in bin dankbar für Hilfe auf der Suche nach einem Skriptfehler, der m.W. nur in Safari auftritt, da aber dafür umso hartnäckiger. Meine Sorge gilt einer meiner Webspielereien, Difference. Hier werden mittels dynamischem HTML (genauer: mittels der Eigenschaft .innerHTML des Elements "screen"; das inkriminierte Skript liegt hier) auf Zufallsbasis zwei fast identische Fotos geladen, die sechs winzige Unterschiede enthalten, die es zu finden gilt. In all meinen anderen Browsern klappt das anstandslos (die gefundenen Unterschiede werden von eins bis sechs aufaddiert), nur Safari zeigt lediglich den ersten gefundenen Unterschied an und danach keinen weiteren mehr, so oft und so richtig man auch klicken mag. Woran das liegen mag?
Die Mechanik des Spiels beruht auf dem genannten DHTML/Javascript, auf den mittels <area>-Tags markierten Bildunterschieden und, nach dem korrekten Klicken, auf darübergelegten halbtransparenten png-Grafiken mit Rand (zur Markierung des gefundenen Fehlers) und mit den Massen der <area>-Klickzone (die Masse von <area> und mark.png finden sich im mehrdimensionalen Array areas, nochmals vgl. Skript).
Für sachdienliche Hinweise bin ich sozusagen ewig dankbar.
Herzlich, twb
Hallo twb,
auf meinem Safari (5.0) unter Windows XP scheint das Skript tadellos zu funktionieren.
Evtl. liegt dein Problem darin, dass die Variable "finds" in deinem Skript nicht global deklariert ist. Setze mal zu Beginn deines Skriptes diese Variable mit "var finds=0;" auf Null.
Herzliche Grüße aus Weinsberg
Helmut Weber
Evtl. liegt dein Problem darin, dass die Variable "finds" in deinem Skript nicht global deklariert ist.
Leider nicht - auch eine globale Deklaration behebt den Fehler nicht. Trotzdem danke!
Ich finde in Safari nur die Fehler, die aus der Einbindung von Googleads resultiert; Google spielt da offenbar mit der postMessage API rum.
Gruß, LX
Hi,
In all meinen anderen Browsern klappt das anstandslos (die gefundenen Unterschiede werden von eins bis sechs aufaddiert), nur Safari zeigt lediglich den ersten gefundenen Unterschied an und danach keinen weiteren mehr, so oft und so richtig man auch klicken mag.
Problem nicht nachvollziehbar (Safari 5.0.3 unter Windows 7) - „2 of 6 differences found.“
Wenn ich gleich noch etwas anderes anmerken darf: Bei mir passen die beiden Bilder übereinander nicht komplett in den Anzeigebereich (Laptop-Screen mit 800px Höhe), so dass ich ständig am Scrollen bin, um die beiden Bilder vergleichen und Unterschiede finden zu können. Bei dunkleren Bildern kommt noch die Farbverschiebung bei ungünstigem Betrachtungswinkel des Bildschirms erschwerend hinzu.
Vielleicht denkst du mal drüber nach, die Bilder nebeneinander zu platzieren (das würde auf meinem Bildschirm zumindest besser passen), oder dem Nutzer gar die Wahl zu lassen zwischen über- oder nebeneinander.
MfG ChrisB
Hi ChrisB
Problem nicht nachvollziehbar (Safari 5.0.3 unter Windows 7) - „2 of 6 differences found.“
So weit bin ich auch schon - Safari unter Windows tut genau, was die anderen Browser (MSIE, FF, Chrome und Opera) auch tun, und benimmt sich einwandfrei.
Vielleicht denkst du mal drüber nach, die Bilder nebeneinander zu platzieren (das würde auf meinem Bildschirm zumindest besser passen), oder dem Nutzer gar die Wahl zu lassen zwischen über- oder nebeneinander.
Problem erkannt - das Game ist in der vorliegenden Form auf vielen PCs nur im Fullscreen Mode spielbar, und das ist so keine wirkliche Lösung. Es handelt sich aber erst um einen Prototyp - da werd' ich noch dran arbeiten. Danke für den Tipp!
... nur Safari zeigt lediglich den ersten gefundenen Unterschied an und danach keinen weiteren mehr...
Präzisierung: Safari 5.0.x für Windows führt das Skript einwandfrei aus, ebenso wie die anderen getesteten Browser MSIE (Win), FF (Win, Mac, Linux), Chrome (Win) und Opera (Win). Safari für Mac dagegen zickt - ist das bei Euch nachzuvollziehen? Und wenn ja, bei welchen Versionen? Mit titanischem Dank!
Hallo twb
Präzisierung: Safari 5.0.x für Windows führt das Skript einwandfrei aus, …
Nicht wirklich.
Bei mir kann ich zwar auf dem ersten Bildpaar alle Unterschiede nacheinander anklicken, beim nächsten Bildpaar bekomme ich aber nur ständig „No difference here!”.
Wenn ich die Seite neu lade, dann funktioniert es wieder, oder auch nicht, oder nur auf einem der beiden Bilder.
Nur wenn ich Safari schließe und neu starte, kann ich mich darauf verlassen, dass es wieder richtig funktioniert.
(Safari 5.0.3 Windows XP)
Auf Wiederlesen
Detlef
Nicht wirklich.
Tatsächlich.
Bei mir kann ich zwar auf dem ersten Bildpaar alle Unterschiede nacheinander anklicken, beim nächsten Bildpaar bekomme ich aber nur ständig „No difference here!”.
Behoben - die Funktion war ohnehin unnötig.
Wenn ich die Seite neu lade, dann funktioniert es wieder, oder auch nicht, oder nur auf einem der beiden Bilder.
Funktioniert afaik nun zuverlässig, allerdings nur beim ersten Bilderpaar nach dem Reload. Danach ("New") geht gar nichts mehr. Grrr.