Marcerle: Code geht nur auf IE, bitte um hilfe!

Hallo, ich hab diese Seite:

<script type='text/javascript'>
function Mausklick () {

ev = window.event;

document.images['Bild'].src='http://127.0.0.1/test'+Math.round(Math.random()*10000000)+'.jpg?x='+ev.offsetX+'&y='+ev.offsetY;

}
window.setInterval('reload()',4000);
</script>

<img name='Bild' src='http://127.0.0.1/test.jpg'  onclick='Mausklick();'>

Wenn ich im IE auf das Bild klicke geht das wie gewollt. Wenn ich aber im FireFox draufklicke passiert nix, das bild wird nicht geändert.

Was muss ich tun, damit es überall geht? Und muss ich eventuell etwas ändern damit die Koordinaten auch in allen Browsern richtig erkannt werden?

Danke sehr!

  1. Moin Moin!

    function Mausklick () {

    ev = window.event;

    Das ist IE-spezifisch. Andere Browser übergeben das Event-Objekt als Funktionsparameter.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Entschuldige, aber könntest du die Funkion bitte einfach richtig umschreiben? Ich weiß nicht genau, was ich da wo wie übergeben soll^^

      Moin Moin!

      function Mausklick () {

      ev = window.event;

      Das ist IE-spezifisch. Andere Browser übergeben das Event-Objekt als Funktionsparameter.

      Alexander

      1. Hi,

        Entschuldige, aber könntest du die Funkion bitte einfach richtig umschreiben?

        was bist Du denn bereit, dafür zu bezahlen?

        Ich weiß nicht genau, was ich da wo wie übergeben soll^^

        [...]

        Andere Browser übergeben das Event-Objekt als Funktionsparameter.

        Lies noch einmal durch, wer da etwas übergibt.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Ich bin bereit gar nichts zu bezahlen....
          Im gegenzug helfe ich des öffteren in c# oder Java Programmierforen... Und da habe ich noch nicht für einen 4 Zeiler Geld verlangt...

          Ich verstehe ja dass es nervt hier immer wieder zu hören:"Macht mal bitte", aber wenn es euch nicht passt ignoriert es doch bitte.

          Hi,

          Entschuldige, aber könntest du die Funkion bitte einfach richtig umschreiben?

          was bist Du denn bereit, dafür zu bezahlen?

          Ich weiß nicht genau, was ich da wo wie übergeben soll^^
          [...]

          Andere Browser übergeben das Event-Objekt als Funktionsparameter.

          Lies noch einmal durch, wer da etwas übergibt.

          Cheatah

          1. Mahlzeit,

            Ich bin bereit gar nichts zu bezahlen....

            Musst Du ja auch gar nicht. Aber eine Formulierung wie "könntest du die Funkion bitte einfach richtig umschreiben?" ist eine Frechheit - insbesonders in einem Forum, dass "SELF" im Namen trägt. Du hast einen hilfreichen Hinweis (Übergabe des event-Objekts an Funktion) bekommen ... wenn Du nach entsprechenden Stichwörtern in SELFHTML suchst, kommst Du recht schnell zu <http://de.selfhtml.org/javascript/objekte/event.htm#allgemeines@title=entsprechenden Abschnitten>.

            Ich verstehe ja dass es nervt hier immer wieder zu hören:"Macht mal bitte", aber wenn es euch nicht passt ignoriert es doch bitte.

            Nein. Wenn DU Dich nicht den Gepflogenheiten des Forums anpassen möchtest, dann solltest Du vielleicht überlegen, ob weiterhin in diesem Forum posten möchtest.

            Übrigens ist TOFU nicht nur hier ungern gesehen.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Hallo,

              [...] Aber eine Formulierung wie "könntest du die Funkion bitte einfach richtig umschreiben?" ist eine Frechheit

              Nicht in diesem Fall (es ist eh nur eine Bitte). In der Hälfte der Zeit, in der du deine deine Belehrung geschrieben hast, hättest du eine Lösung anbieten können, oder vieleicht nicht? Dann hättest du allerdings besser die Schn... gehalten, denn keine Antwort ist auch eine Antwort.

              Das schreibe ich jetzt nur, weil mir deine ständigen Postings inzwischen richtig auf den Wecker gehen, die nur immer auf die Tipps für Fragende hinweisen, und sich kaum jemals um die eigentlichen Probleme kümmern, die jemand hat. Sobald ich herausgefunden habe, wie man hier jemanden ignoriert, bist du leider fällig, ciao.

              Es gibt übrigens auch Tips für Antwortende.

              Gruß, Don P

              1. Mahlzeit,

                In der Hälfte der Zeit, in der du deine deine Belehrung geschrieben hast, hättest du eine Lösung anbieten können, oder vieleicht nicht?

                Habe ich - indirekt. Ich habe zur entsprechenden Stelle in SELFHTML verlinkt, wo ein Beispiel vorhanden ist und wo erklärt wird, warum man nicht davon ausgehen kann, dass jeder Browser das event-Objekt automatisch als Funktionsparameter übergibt. Wieso hätte ich das alles selbst schreiben sollen?

                Dann hättest du allerdings besser die Schn... gehalten, denn keine Antwort ist auch eine Antwort.

                Ich HABE eine Antwort gegeben.

                Das schreibe ich jetzt nur, weil mir deine ständigen Postings inzwischen richtig auf den Wecker gehen, die nur immer auf die Tipps für Fragende hinweisen, und sich kaum jemals um die eigentlichen Probleme kümmern, die jemand hat.

                Ich weise auf die Tipps für Fragende hin, wenn ich das Gefühl habe, dass der Fragende diese noch nicht kennt (z.B. weil er keine verständliche Problembeschreibung liefert, weil er keinen Quellcode oder nur nicht aussagekräftige Schnipsel veröffentlicht, weil er eventuelle Fehlermeldungen verschweigt oder unterschlägt). Ich spekuliere halt nicht gern und bevor ich jemanden in die völlig falsche Richtung schicke, hake ich - mit dem Hinweis auf die fehlenden Informationen - lieber nach.

                Sobald ich herausgefunden habe, wie man hier jemanden ignoriert, bist du leider fällig, ciao.

                Sobald ich weiß, wie das geht, werde ich es Dir gerne mitteilen.

                Es gibt übrigens auch Tips für Antwortende.

                Danke, kenne ich.

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                1. Hi EKKi,

                  Sobald ich herausgefunden habe, wie man hier jemanden ignoriert, bist du leider fällig, ciao.

                  Sobald ich weiß, wie das geht, werde ich es Dir gerne mitteilen.

                  Auch hier hilft wieder die Foren-Hilfe.

                  @Don P: MMn Keine Weise Entscheidung!

                  Grüße aus H im R,
                  Engin

  2. Hallo,

    Folgende Antwort ist war zwar richtig, aber ein bisschen unvollständig:

    ev = window.event;

    Das ist IE-spezifisch. Andere Browser übergeben das Event-Objekt als Funktionsparameter.

    Weiß der Geier, warum man hier so ein Geheimnis um die Geheimnisse macht*.
    Man schreibt das besser so, und alles wird gut:

    [code lang = javascript]
    function Mausklick (e) {
      ev = e || event;
      // hier der Rest wie gehabt...[/code]

    e ist der genannte Parameter, man darf ihn auch anders nennen.

    * ich glaube inzwischen, dass es u.A. daran liegt, dass man sich einfach sträubt, dem ||-Operator mehr als eine einfache boolesche oder-Verknüpfung zuzutrauen. Trotzdem könnte man doch die Lösung anbieten, ohne dass einem ein Zacken aus der Krone bricht, z.B. in Form von

    [code lang = javascript]
    function Mausklick (e) {
      ev = e ? e : event;
     // hier der Rest wie gehabt...[/code]

    oder

    [code lang = javascript]
    function Mausklick (e) {
      if (e) {ev = e;}
      else {ev = event;}
      // hier den Rest wie gehabt...[/code]

    Gruß, Don P

    1. Weiß der Geier, warum man hier so ein Geheimnis um die Geheimnisse macht*.

      Naja, vermutlich weil ein kurzer Blick in die selfhtml Doku gereicht hätte um das herauszufinden.

      Man schreibt das besser so, und alles wird gut:

      [code lang=javascript]
      function Mausklick (e) {
        ev = e || event;

      Aber dann wenigstens mit einem var davor. Globale Variabeln sind immer zu vermeiden.

      Struppi.

  3. Hallo,

    function Mausklick () {

    function Mausklick (ev)

    ev = window.event;

    Das kannst du rauswerfen.

    <img name='Bild' src='http://127.0.0.1/test.jpg'  onclick='Mausklick();'>

    onclick="Mausklick(event)"

    Mathias