Torwächter: Script Probe

Hallo,

könnt ihr mir sagen, ob mein Script hier Fehlerfrei ist und bei euch funktioniert:

<!--#### BigPic ####-->
<script language="JavaScript">
<!--
function bigpic(PICWIDTH,PICHEIGHT){
var PICNAME;
PICNAME = document.SmalPic.src;
newWindow=window.open(PICNAME,"BigPic","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width="+PICWIDTH+", height="+PICHEIGHT+", copyhistory=no");}
//-->
</script>
<!--#### BigPic ####-->

<a href="javascript:bigpic(1000,50);">
<img src="bildadresse" alt="Zoom" border="0" name="SmalPic">
</a>

Vielen Dank im Voraus.

Greetings
Torwächter

  1. Hi,

    könnt ihr mir sagen, ob mein Script hier Fehlerfrei ist

    ist es nicht.

    <script language="JavaScript">

    ERROR: Required attribute "type" missing.

    if (document.images) {

    PICNAME = document.SmalPic.src;
    newWindow=window.open(PICNAME,"BigPic","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width="+PICWIDTH+", height="+PICHEIGHT+", copyhistory=no");}

    Leerzeichen sind im dritten Parameter von window.open() nicht erlaubt.

    <a href="javascript:bigpic(1000,50);">

    <a href="bildadresse" target="_blank" onClick="bigpic(1000,50); return false;">

    <img src="bildadresse" alt="Zoom" border="0" name="SmalPic">

    Warum öffnest Du eigentlich ein Fenster mit einem Bild, welches genau so bereits gesehen wurde?

    Vielen Dank im Voraus.

    Gern geschehen.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hallo,

      das img-tag war nicht vollständig in diesem Beispiel d.h. es wird ein Bild mit 100x80 angezeigt.

      Also nun habe ich:
      <!--#### BigPic ####-->
      <script language="JavaScript">
      <!--
      function bigpic(PICWIDTH,PICHEIGHT){
      var PICNAME;
      PICNAME = document.SmalPic.src;
      newWindow=window.open(PICNAME,"BigPic","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width="+PICWIDTH+",height="+PICHEIGHT+",copyhistory=no");}
      //-->
      </script>
      <!--#### BigPic ####-->

      <a href="#" onClick="bigpic(1000,50); return false;">
      <img src="" alt="Zoom" border="0" name="SmalPic" width="80" height="100"> </a>

      Du hattest noch im href das Bild mit angegeben, für den Fall, dass der User kein JavaScript aktiviert hat, wenn doch return false, richtig ? aber das hab ich nun mal weggelassen, da ich die Adresse nur einmal angeben möchte (der Arbeit wegen :) ) daher auch document.SmalPic.src.

      Fällt dir noch ein Fehler auf ? (die Leerzeichen sind auch weg)

      Greetings
      Torwächter

      1. Hi,

        das img-tag war nicht vollständig in diesem Beispiel d.h. es wird ein Bild mit 100x80 angezeigt.

        ach so. Das ist für die Ladezeiten natürlich nicht optimal - wer das Bild nur klein sehen will, muss trotzdem das große laden.

        <script language="JavaScript">

        ERROR: Required attribute "type" missing.

        "Required" bedeutet _nicht_ "optional".

        var PICNAME;
        PICNAME = document.SmalPic.src;
        newWindow=window.open(PICNAME,[...]

        Die drei Zeilen gehen übrigens auch in eine, indem Du in der letzten einfach das PICNAME durch document.SmalPic.src ersetzt. Weiterhin ist die Prüfung auf document.images _nötig_, weil dies nicht vorausgesetzt werden kann.

        Übrigens kannst Du meinen vorherigen Vorschlag noch verbessern, indem Du in eben jenem Fall true zurücklieferst und dies im Event-Handler beachtest.

        Du hattest noch im href das Bild mit angegeben, für den Fall, dass der User kein JavaScript aktiviert hat, wenn doch return false, richtig ?

        Ja.

        aber das hab ich nun mal weggelassen, da ich die Adresse nur einmal angeben möchte (der Arbeit wegen :) ) daher auch document.SmalPic.src.

        Falscher Ansatz. Faulheit ist kein Grund.

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Hallo

          das img-tag war nicht vollständig in diesem Beispiel d.h. es wird ein Bild mit 100x80 angezeigt.

          ach so. Das ist für die Ladezeiten natürlich nicht optimal - wer das Bild nur klein sehen will, muss trotzdem das große laden.

          Ich weis, aber ich habe nur begrenzt Speicherplatz für diese Bilder, aber sie sind sowieso nur ca 30-50 Kbs (jaja, die guten alten 58 Ks :) )

          <script language="JavaScript">

          ERROR: Required attribute "type" missing.

          "Required" bedeutet _nicht_ "optional".

          Aber was genau soll ich bei type angeben ? ist der typ nicht javascript ?

          Die drei Zeilen gehen übrigens auch in eine, indem Du in der letzten einfach das PICNAME durch document.SmalPic.src ersetzt.

          Stimmt.

          Weiterhin ist die Prüfung auf document.images _nötig_, weil dies nicht vorausgesetzt werden kann.
          ahso, werd ich machen.

          Schon gut, werds dann doch machen :)

          Greetings
          Torwächter

          1. Hallo,

            so:

            <!--#### BigPic ####-->
            <script language="JavaScript" type="text/javascript">
            <!--
            function bigpic(PICWIDTH,PICHEIGHT)
            {
            if (document.images)
             {
            var PICNAME;
            PICNAME = document.SmalPic.src;
            newWindow=window.open(PICNAME,"BigPic","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,width="+PICWIDTH+",height="+PICHEIGHT+",copyhistory=no");
             }
            }
            //-->
            </script>
            <!--#### BigPic ####-->

            <a href="3x3EYES.jpg" target="_blank" onclick="bigpic(100,100); return false;"> <img src="3x3EYES.jpg" alt="Zoom" border="0" name="SmalPic" width="80" height="100"> </a> <br>

            Ist jetzt alles richtig ?
            Noch eine Frage: ist document.images bzw nur images ein Bestandteil von JavaScript ?

            Vielen Dank für deine Mühe/Hilfe

            Greetings
            Torwächter

            1. Hi,

              Ist jetzt alles richtig ?

              ja. Zwei kleine Verschönerungen:

              1.) keine Leerzeichen zwischen <a><img></a>,
              2.) if (document.images) { ...; return false; } else { return true; }
                  <a ... onClick="return bigpic(...);">

              Noch eine Frage: ist document.images bzw nur images ein Bestandteil von JavaScript ?

              Es ist ein Objekt, auf das Du mit document.SmalPic implizit zugreifst. Da es erst seit JavaScript 1.1 vorhanden ist, darf es (und damit die Fähigkeit, Bild-Sourcen zu verändern) nicht vorausgesetzt werden. Die return-Umbauerei trägt dem Rechnung, indem nicht nur Browser ohne JavaScript trotzdem das Bild im Großformat erhalten, sondern auch solche mit JavaScript 1.0.

              Cheatah

              --
              X-Will-Answer-Email: No
          2. Hi,

            Ich weis, aber ich habe nur begrenzt Speicherplatz für diese Bilder, aber sie sind sowieso nur ca 30-50 Kbs (jaja, die guten alten 58 Ks :) )

            _nur_ 30-50 Kilobyte? Ich würde da ein anderes Wort verwenden...

            <script language="JavaScript">
            ERROR: Required attribute "type" missing.
            Aber was genau soll ich bei type angeben ? ist der typ nicht javascript ?

            Nein, das ist die Sprache. Ein type-Attribut spezifiziert den Content-Type. Den darfst Du dann mal erraten :-)

            Cheatah

            --
            X-Will-Answer-Email: No
          3. Hallo,

            aber sie sind sowieso nur ca 30-50 Kbs

            das ist eher viel. und wenn gar mehrere von solchen "kleinen" Bildchen auf di Seite kommen, werden viele sie gar nicht erst zu Gesicht bekommen....

            Chräcker