Javascript funktioniert nicht mit IE4!

Von: , Frage gestellt am Mi, 18. Aug 1999

Hallo!

Warum funktioniert folgendes Skript mit NC4, aber nicht mit IE4? Das Skript zeigt Fotos mit dazugehöriger Beschreibung an. IE4 bringt bei description = new Array folgenden Fehler: Objekt unterstützt diese Eigenschaft oder Methode nicht! Was muß ich ändern, damit es läuft?

var i = 1

images = new Array
images[1] = "img/image01.jpg"
...
images[19] = "img/image19.jpg"

description = new Array
description[1] = "description1"
...
description[19] = "description19"


function gallery()
{
if (i == 1)
{
document.gallery.desc.value = description[1];
document.gallery.previous.value=" ";
}
}


function previmg()
{
if (i != 1)
{
i --
document.img.src = images[i];
document.gallery.desc.value = description[i];
document.gallery.next.value = "Next";
}
if (i == 1)
{
document.gallery.previous.value=" ";
}

}


function nextimg()
{
if (i != 19)
{
i ++
document.gallery.previous.value="Previous";
image = images[i];
document.img.src = image;
document.gallery.desc.value = description[i];
}

if (i == 19)
{
document.gallery.next.value=" ";
}
}


function pickrand()
{
var imagenumber = 19;
var randomnumber = Math.random();
var rand1 = Math.round( (imagenumber-1) * randomnumber) + 1;
var randimage = images[rand1];
document.img.src = randimage;
document.gallery.desc.value = description[rand1];
i = rand1;

if (i == 1)
{ document.gallery.previous.value=" ";
}

else
{ document.gallery.previous.value="Previous";
}

if (i == 19)
{ document.gallery.next.value=" ";
}

else
{ document.gallery.next.value="Next";
}
}


function firstimg()
{
i = 1
document.img.src = images[i];
document.gallery.desc.value = description[i];
document.gallery.previous.value=" ";
document.gallery.next.value="Next";
}


function lastimg()
{
i = 19
document.img.src = images[i];
document.gallery.desc.value = description[i];
document.gallery.next.value=" "; document.gallery.previous.value="Previous";
}

Danke für jede Hilfe.

Tanja

11 Antworten zu dieser Frage

  1. Antwort von nach 2 Tagen hilfreich
    Re: Javascript funktioniert nicht mit IE4!

    Hallo!

    Warum funktioniert folgendes Skript mit
    NC4, aber nicht mit IE4? Das Skript zeigt
    Fotos mit dazugehöriger Beschreibung an.
    IE4 bringt bei description = new Array
    folgenden Fehler: Objekt unterstützt diese
    Eigenschaft oder Methode nicht! Was muß
    ich ändern, damit es läuft?

    var i = 1
    Leider habe ich nicht so viel Zeit die Geschichte durchzutesten, aber auf den ersten Blick würde ich folgendes ändern: var i = 1
    var i = 1;

    UND besser noch dazu:

    var images = new Array();

    wobei ich die Verwendung von "images" als Variablenname für nicht gelungen halte. images = new Array
    Das sollte wohl eher so heissen:

    images = new Array(); images[1] = "img/image01.jpg"
    und das wohl eher so:

    images[1] = "img/image01.jpg";

    Die Nett(!)scapes lassen so etwas leider oft durchgehen. Der IE halt nicht. Wie gesagt: Wenig Zeit, den Rest habe ich mirr nicht mehr angeschau! Ich würde einfach noch einmal checken, ob Du Dich im Rest des Scriptes an der JavaScript-Syntax orientiert hast.

    Gruss

    Ralf-Jürgen

    • Antwort von nach 3 Tagen hilfreich
      Re^2: Javascript funktioniert nicht mit IE4!

      Hallo! Warum funktioniert folgendes Skript mit
      NC4, aber nicht mit IE4? Das Skript zeigt
      Fotos mit dazugehöriger Beschreibung an.
      IE4 bringt bei description = new Array
      folgenden Fehler: Objekt unterstützt
      diese
      Eigenschaft oder Methode nicht! Was muß
      ich ändern, damit es läuft?
      var i = 1;

      var images = new Array();
      images[1] = "img/image01.jpg";
      Ich habe den Code nach Deinen Angaben verändert und hinter jeden Befehl einen Strichpunkt gemacht, jedoch bringt IE immer noch die gleiche Fehlermeldung.

      Was mich wirklich wundert ist, daß der Fehler nur bei dem description-Array und nicht bei dem images-Array auftritt, ich habe doch genau die gleiche Array-Deklaration verwendet. Eine Änderung der Variablennamen "images" und "description" brachte auch keine Hilfe, es handelt sich hierbei also nicht um reservierte Namen.

      Tanja

      • Antwort von nach 3 Tagen hilfreich
        Re^3: Javascript funktioniert nicht mit IE4!

        So, nun habe ich es durchgeschaut. Folgende Fehler hat IE nicht durchgehen lassen:

        "description" war NICHT deklariert (var = description;). Deshalb konnte IE das Objekt nicht ansprechen. Diverse weitere Semikola fehlten (i--;).

        Also alles Geschichten, die nach JavaScript 1.2 vorgeschrieben sind. Grundsätzlich macht es Sinn die Vorgaben von JavaScript auch tatsächlich einzuhalten. Netscape toleriert den Kram leider auch so. In Java würdest Du eine solche source nicht einmal über den ersten Compilerdurchgang bringen.

        Ich schicke Dir das lauffähige Script per e-mail. Ein ähnliches Script (nur mit windows) findest Du auf einer meiner sites:
        http://www.combatflight.de

        Viel Spass noch!

        Gruss

        Ralf-J.

        • Antwort von nach 3 Tagen hilfreich
          Re^4: Javascript funktioniert nicht mit IE4!

          Hallo! "description" war NICHT deklariert (var =
          description;).
          Ein dummer Flüchtigkeitsfehler, den ich nicht bemerkt hatte. Diverse weitere Semikola fehlten (i--;).
          Hatte ich noch verbessert. Also alles Geschichten, die nach
          JavaScript 1.2 vorgeschrieben sind.
          Grundsätzlich macht es Sinn die Vorgaben
          von JavaScript auch tatsächlich
          einzuhalten. Netscape toleriert den Kram
          leider auch so.
          Ich habe mich bis jetzt noch nicht ausreichend mit Javascript beschäftigt. Normalerweise programmiere ich in Java, VB,... Ich schicke Dir das lauffähige Script per
          e-mail.
          Danke, sehr nett von Dir.

          Ciao, Tanja

      • Antwort von nach 3 Tagen hilfreich
        Re^3: Javascript funktioniert nicht mit IE4!


        Ich habe den Code nach Deinen Angaben
        verändert und hinter jeden Befehl einen
        Strichpunkt gemacht, jedoch bringt IE
        immer noch die gleiche Fehlermeldung.
        Gut, dann ist der Fehler ja schon einmal beseitigt. Dann schaue ich mir den Rest jetzt einmal an.


        Eine Änderung der Variablennamen "images" und
        "description" brachte auch keine Hilfe, es
        handelt sich hierbei also nicht um
        reservierte Namen.
        Das es keine Hilfe brachte ändert nichts daran, das "images" ein Unterobjekt von "document" ist, zumindest nach den gängigen Referenzen. So etwas darf auch "bilder" "pictures" "ente" "blub" und so weiter genannt werden, wieso also ein Array unbedingt so, wie ein JavaScript-Unterobjekt genannt werden muss ist mir nicht klar. Mein Hinweis sollte helfen, dass aufgrund solcher Ungeschicklichkeiten Fehler vermieden werden.

        also bis später dann

        Gruss

        Ralf-J.

        • Antwort von nach 3 Tagen hilfreich
          Re^4: Javascript funktioniert nicht mit IE4!

          Hallo! Das es keine Hilfe brachte ändert nichts
          daran, das "images" ein Unterobjekt von
          "document" ist, zumindest nach den
          gängigen Referenzen
          Ich weiß das, ich hätte das Array auch nicht so genannt. Es kam nur daher, daß ich Teile des Codes aus einem Javascript-Tutorial kopiert habe. Ich werde es mal ändern.

          Tanja

  2. Antwort von nach 9 Stunden hilfreich
    Re: Javascript funktioniert nicht mit IE4!

    hi Tanja,
    ich kanns im mom leider nicht ausprobieren, da die IE4-Rechner bei
    mir noch nicht am intranet hängen, aber
    versuchs zuallererst einfach mal mit Kleinschreibung.

    images = new array ;

    Aus diesem blöden Grund klappte bei
    mir auch einiges nicht.

    Gruß
    magnus Hallo!

    Warum funktioniert folgendes Skript mit
    NC4, aber nicht mit IE4? Das Skript zeigt
    Fotos mit dazugehöriger Beschreibung an.
    IE4 bringt bei description = new Array
    folgenden Fehler: Objekt unterstützt diese
    Eigenschaft oder Methode nicht! Was muß
    ich ändern, damit es läuft?

    var i = 1

    images = new Array
    images[1] = "img/image01.jpg"
    ...
    images[19] = "img/image19.jpg"

    description = new Array
    description[1] = "description1"
    ...
    description[19] = "description19"



    function gallery()
    {
    if (i == 1)
    {

    document.gallery.desc.value =
    description[1];

    document.gallery.previous.value="
    ";
    }
    }


    function previmg()
    {
    if (i != 1)
    {
    i --
    document.img.src =
    images[i];

    document.gallery.desc.value =
    description[i];

    document.gallery.next.value = "Next";
    }
    if (i == 1)
    {

    document.gallery.previous.value="
    ";
    }

    }


    function nextimg()
    {
    if (i != 19)
    {
    i ++

    document.gallery.previous.value="Previou s";
    image = images[i];
    document.img.src = image;

    document.gallery.desc.value =
    description[i];
    }

    if (i == 19)
    {

    document.gallery.next.value=" ";
    }
    }


    function pickrand()
    {
    var imagenumber = 19;
    var randomnumber = Math.random();
    var rand1 = Math.round(
    (imagenumber-1) * randomnumber) + 1;
    var randimage = images[rand1];
    document.img.src = randimage;
    document.gallery.desc.value =
    description[rand1];
    i = rand1;

    if (i == 1)
    {
    document.gallery.previous.value="
    ";
    }

    else
    {
    document.gallery.previous.value="Previou s";
    }

    if (i == 19)
    {
    document.gallery.next.value=" ";
    }

    else
    {
    document.gallery.next.value="Next";
    }
    }


    function firstimg()
    {
    i = 1
    document.img.src = images[i];
    document.gallery.desc.value =
    description[i];
    document.gallery.previous.value="
    ";

    document.gallery.next.value="Next";
    }


    function lastimg()
    {
    i = 19
    document.img.src = images[i];
    document.gallery.desc.value =
    description[i];
    document.gallery.next.value="
    ";
    document.gallery.previous.value="Previou s";
    }

    Danke für jede Hilfe.

    Tanja

    • Antwort von nach 11 Stunden hilfreich
      Re^2: Javascript funktioniert nicht mit IE4!

      Hallo! versuchs zuallererst einfach mal mit
      Kleinschreibung.

      images = new array ;
      Ich habe doch beide Namen für die Arrays klein geschrieben:

      images = new array
      description = new array

      Außerdem funktioniert das Images-Array einwandfrei, mit dem IE4 werden die Bilder angezeigt, nur die Beschreibungen dazu nicht!?!

      Tanja

      • Antwort von nach 12 Stunden hilfreich
        Re^3: Javascript funktioniert nicht mit IE4!

        Hi ..... :-)
        hast du nicht ! (s.u.) aber egal.
        läuft die page schon irgendwo auf deinem
        server ? dann versuch ich nochmal nen
        blick draufzuwerfen .....

        -------------------------------------------- -----
        var i = 1

        images = new Array
        images[1] = "img/image01.jpg"
        ...
        images[19] = "img/image19.jpg"

        description = new Array
        description[1] = "description1"
        ...
        description[19] = "description19"
        -------------------------------------------- -----



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!