JS: In FF und Opera richtig, IE, Safari und Chrome falsch

  • Nabend,

    bin nich wirklich sehr weit in Javascript, das mal vorab.
    Habe das Forum durchwühlt aber bin nicht zu einem Ergebnis gekommen das mir hilft. Google erbrachte auch nichts.

    Mein Problem ist folgendes:

    Ich arbeite immernoch an meiner Galaxie für mein Browsergame. Nun komm ich langsam immer der Fertigstellung näher, und hab mir gedacht ich teste mal das Script in allen gängigen Browser. Entwickelt habe ich das Script im Firefox, wo mir stets alles richtig wie erwünscht angezeigt wurde, auch der interne Debugger spuckt keinen Fehler aus.
    Da nun nach dem Firefox die meisten meiner Spieler den Opera nutzen habe ich es danach darin getestet. Selbiges Ergebnis wie der Firefox (3.5), alles richtig und ohne Fehler (bis auf ein kleiner Fehler beim verschieben eine Drag&Drop Menü, was nicht weiter schlimm ist.).

    Die 2 wichtigsten Browser (nach meinen Statistiken, meines Browsergames gesehen) haben also ohne große probleme bestanden.
    Wenn ich jedoch den Safari, Google Chrome oder die Lachnummer von Microsoft teste, wird rein garnichts richtig angezeigt. Die Seite bleibt beim generieren der Galaxie hängen bzw. wird mittendrin abgebrochen, wie üblich bei Javascript.

    Konnte auch keinen Debugger wie ich ihn vom Firefox kenne finden, daher weiß ich nicht wo das Problem liegen könnte.


    Weiß jemand von euch worauf ich bei einem kompatiblen Script achten muss, wenn es auch im Chrome und Safari funktionieren soll?

    Mein Script verwendet viele mathematischen Funktionen, Arrays und sonstiger Standart. Außerdem benutze ich noch die OverLIB und die Vektorgrafik-Klasse von Walter Zorn.

    Hoffe mir kann wer helfen!

    Vielen Dank im vorraus!!! ;)

    Und nochmal ein kleiner, neuer Screenshot von der Galaxie ;)
    http://uni1.spaceconquers.com/screens/gala.png


  • Bei Maus- und Tastaturevents gibts einige Dinge, die jeder Browser etwas anders interpretiert. Vektoren sind noch viel schlimmer, da macht auch jeder was er will. Ich kenne Walters Klasse nicht, aber prüf mal ob die Crossbrowser-kompatibel ist.

    Ansonsten gibts eigentlich nicht viel was du machen kannst ausser in den sauren Apfel beissen und Schritt für Schritt prüfen was funktioniert und was nicht. Ich hasse das genauso wie alle anderen aber geht nicht anders. Der Safari hat ja eine Debugkonsole und der IE 8 hat zumindest eine etwas brauchbarere als der IE 7 - also hol dir mal die 8. Von Chrome habe ich gar keine Ahnung.

    Oftmals bei solchen JS Sachen ist es nicht nur das Javascript, sondern auch CSS oder CSS in Kombination mit JS. Fang also erstmal bei CSS an und schau ob da alles stimmt.
    In diesem Zusammenhang: verwende immer .className und .setAttribute und .getAttribute wenn es überall funktionieren soll.

  • Nabend,

    erstmal Danke für die ausführliche Antwort, sie hat mir schon etwas weiter geholfen ;)

    Zumindest weiß ich nun woran es liegen 'könnte'. Und zwar, sobald ich alle includierten Javascripte (im Header so geschrieben: "<script type="text/javascript" src="galaxie/moveplanet.js"></script>") entferne, dann wird alles "richtig" angezeigt, zumindest der Javascript Code, welcher in der Datei direkt drinne steht. Mit den Javascripte die ich includiere, geht noch nicht einmal ein einfaches "alert". Die Scripte werden natürlich dringend gebraucht, daher such ich nun dafür eine Lösung :(

    Wenn ich alle Javascripte die includiert werden aus dem Header entferne gehts einwandfrei, sobald ich auch nur eine Datei eintrage, dabei ist egal welche, geht nichtsmehr...

    Nochmal im vorras, vielen Dank!

    lg Red

    EDIT: Den Safari Debugger habe ich aktiviert, jedoch schein ich mich nicht wirklich zurecht zu finden. Von Fehlermeldungen like Firefox find ich keine Spur :( Und eine kurze Erklärung habe ich auch nicht gefunden.


    Einmal editiert, zuletzt von RedFighter (20. August 2009 um 18:42)