Bones: (oder BROWSER) Link funktioniert nicht

Hallo,

ich habe einen Link in einer Seite gefunden, der mit Javascript eine Grafik größer anzeigen soll. In Opera (7.52, Popups und Javascript EINgeschaltet) klappt das aber nicht, und da ich von Javascript Null Ahnung habe, nun meine Frage: Liegt das an einem Fehler in Opera oder ist das Script IE-only o.ä.?

Der Link sieht so aus:

<a href="javascript:openwindow('pictures/anfahrt.jpg',%20'anfahrt',%20'800'%20,'593',%20'0',%20'0')">Gro&szlig;bild</a>

Ist also rein interessehalber, ich habe die Seite nicht gebaut.

Wenn jemand antworten möchte: Ich freu mich!

Gruß
Bones

  1. Der Link sieht so aus:

    <a href="javascript:openwindow('pictures/anfahrt.jpg',%20'anfahrt',%20'800'%20,'593',%20'0',%20'0')">Gro&szlig;bild</a>

    Um deine Frage zu beantworten wäre der code von openwindow wichtig.

    Aber an sich solltest du diesen Link anders aufbauen:
    <a href="pictures/anfahrt.jpg"
    onclick="openwindow(this.href,%20'anfahrt',%20'800'%20,'593',%20'0',%20'0');return false;"

    Gro&szlig;bild</a>

    so haben Besucher auch ohne JS was von dem Link.

    Struppi.

    1. Hi,

      <a href="javascript:openwindow('pictures/anfahrt.jpg',%20'anfahrt',%20'800'%20,'593',%20'0',%20'0')">Gro&szlig;bild</a>
      Um deine Frage zu beantworten wäre der code von openwindow wichtig.

      nein. Die ungültige JavaScript-Syntax springt einem regelrecht entgegen. Wobei _prinzipiell_ die Funktion durchaus hätte genannt werden sollen.

      Aber an sich solltest du diesen Link anders aufbauen:

      Ja, definitiv. Da wäre dann ggf.(!) auch noch ein target-Attribut angebracht.

      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. Hallo,

        <a href="javascript:openwindow('pictures/anfahrt.jpg',%20'anfahrt',%20'800'%20,'593',%20'0',%20'0')">Gro&szlig;bild</a>
        Um deine Frage zu beantworten wäre der code von openwindow wichtig.

        nein. Die ungültige JavaScript-Syntax springt einem regelrecht entgegen. Wobei _prinzipiell_ die Funktion durchaus hätte genannt werden sollen.

        Kannst du mir einen Tipp geben, an welcher Stelle die Syntax falsch ist? Wie gesagt, es ist nicht meine Seite, aber falls ich mal so etwas anwenden muss, werde ich eure Hinweise beherzigen, also schon einmal herzlichen Dank!

        Das Script mit der Funktion openwindow sieht übrigens so aus (musste erst ein bisschen suchen bis ich sie gefunden habe, in einer eigenen Scriptdatei):

        function Browser (){
        this.version = parseInt(navigator.appVersion);
        this.ie = (navigator.appName == "Microsoft Internet Explorer");
        this.nn = (navigator.appName == "Netscape");
        }

        var is = new Browser();

        function openwindow() {
        if (openwindow.arguments[2]) {
        if (is.nn) {
        var options = "innerWidth="+openwindow.arguments[2]+", innerHeight="+openwindow.arguments[3]+", screenX="+openwindow.arguments[4]+", screenY="+openwindow.arguments[5];
        }
        else {
        var options = "width="+openwindow.arguments[2]+", height="+openwindow.arguments[3]+", left="+openwindow.arguments[4]+", top="+openwindow.arguments[5];
        }
        }
        window.open(openwindow.arguments[0],openwindow.arguments[1], options);
        }

        Falls ihr mir jetzt sagt "RTFSH" ist es auch OK, dann müsste ich mich mal in einer ruhigen Minute in Javascript einlesen. Aber manchmal sind es ja wirklich nur Minifehler, die einem Kenner der Materie sofort ins Auge springen (was oft genug ziemlich weh tut ;-).

        Kann es daran liegen, dass in der Scriptdatei nur auf IE oder NN abgeprüft wird?

        Bis denn und danke nochmal!
        Bones

        1. Hi,

          <a href="javascript:openwindow('pictures/anfahrt.jpg',%20'anfahrt',%20'800'%20,'593',%20'0',%20'0')">Gro&szlig;bild</a>
          Kannst du mir einen Tipp geben, an welcher Stelle die Syntax falsch ist?

          lies Dir den JavaScript-Code einfach mal sorgfältig durch. Das _muss_ man sehen - selbst wenn man noch nie im Leben etwas von JavaScript gehört hat.

          Das Script mit der Funktion openwindow sieht übrigens so aus

          JIARGH! Wegschmeißen. Sofort. Das ist ja grausam!

          function Browser (){
          this.version = parseInt(navigator.appVersion);
          this.ie = (navigator.appName == "Microsoft Internet Explorer");
          this.nn = (navigator.appName == "Netscape");
          }

          Waaah. Diese Schmerzen. Zahlt das eigentlich die Krankenkasse?

          var is = new Browser();

          Da wollte wohl einer sagen: "Guck mal, Mama, ich kann objektorientiertes JavaScript schreiben!"

          function openwindow() {
          if (openwindow.arguments[2]) {

          Aua. Funktionskopf unbekannt.

          if (is.nn) {

          Flashce Abfrage.

          var options = "innerWidth="+openwindow.arguments[2]+", innerHeight="+openwindow.arguments[3]+", screenX="+openwindow.arguments[4]+", screenY="+openwindow.arguments[5];

          Das Positive an diesem Code ist die Verwendung von "var".

          window.open(openwindow.arguments[0],openwindow.arguments[1], options);

          Na super. Der Code hätte auf diese Zeile reduziert werden können; natürlich nach Ersetzung der Variablen durch vernünftige Werte.

          Falls ihr mir jetzt sagt "RTFSH" ist es auch OK,

          "SH" == "SelfHTML"?

          dann müsste ich mich mal in einer ruhigen Minute in Javascript einlesen.

          Das ist grundsätzlich sehr empfehlenswert, wenn man eine (beliebige) Technik einsetzt.

          Aber manchmal sind es ja wirklich nur Minifehler, die einem Kenner der Materie sofort ins Auge springen (was oft genug ziemlich weh tut ;-).

          *g* Also, der Minifehler springt einem schon mit mikromalen Programmierkenntnissen ins Auge. Brillenträger sind im Vorteil. Wobei das eingebundene Script insgesamt ein _Riesen_fehler ist. Es ist das schlechteste Beispiel, das ich jemals für diese Standardaufgabe gesehen habe - und Scripts genau hierfür kursieren massenweise.

          Kann es daran liegen, dass in der Scriptdatei nur auf IE oder NN abgeprüft wird?

          Wird es nicht. Es wird nur so genannt.

          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. Hallo Cheatah,

            erst einmal vielen Dank für die ausführliche Antwort (ernst gemeint)!

            Waaah. Diese Schmerzen. Zahlt das eigentlich die Krankenkasse?

            Ich denke schon, genauso wie wenn du bei einer sog. Risikosportart einen Unfall baust. Könnte aber auch sein, dass die Berufsgenossenschaft zahlen muss, wenn du beruflich das Forum liest.

            Das Positive an diesem Code ist die Verwendung von "var".

            Na wenigstens etwas.

            Falls ihr mir jetzt sagt "RTFSH" ist es auch OK,
            "SH" == "SelfHTML"?

            True

            dann müsste ich mich mal in einer ruhigen Minute in Javascript einlesen.
            Das ist grundsätzlich sehr empfehlenswert, wenn man eine (beliebige) Technik einsetzt.

            Ich beteuere es noch einmal: es ist nicht meine Seite, ich betreue sie auch nicht, ich gehöre nicht zu ead-media.com, sondern wir wollten da einfach nur mal essen gehen (http://www.sudhaus-detmold.de/). Die Seite mit den Javascript-Links findet man übrigens unter "Service" oben rechts, was immer das auch mit Service zu tun haben mag ...

            Ich habe bisher noch nie die Notwendigkeit gehabt, Javascript einsetzen zu müssen, bin generell kein Freund davon. Aber es schadet ja nicht über den Tellerrand hinauszuschauen, und so werde ich mir diese Funktion anhand von SelfHTML mal etwas genauer betrachten - um daraus zu lernen.

            Also, vielen Dank nochmal!
            Bones