Sven Wagener: Nur im Netscape klappts nicht! Warum?

Guten Morgen allerseits!

Jetzt schau eich mal das an:

<html>
<head>
<title>TESTSEITE</title>
<script language="JavaScript">
<!--
    function showDesc(desc)
     {
     document.all.information.innerHTML = desc;
     }
//-->
</script>
</head>
<body>
<a onMouseOver="showDesc('TEST');">Geh hier drüber!</a><br>
<p id="information">Gehen sie einfach mit dem Cursor der Maus über die einzelnen Tickets, um Informationen über die einzelnen Punkte zu erhalten.</p>
</body>
</html>

Das funktioniert im IE5 wunderbar, dennoch in keinem NetscapeNavigator. Hab schon ein paar sachen aurprobiert. Wer kann mir da weiterhlfen.
Bin halt noch kein Meister in JS.

Vielen Dank,

Sven Wagener.

  1. Hi Sven,

    Jetzt schau eich mal das an:

    <html>
    <head>
    <title>TESTSEITE</title>
    <script language="JavaScript">
    <!--
        function showDesc(desc)
         {
         document.all.information.innerHTML = desc;
         }
    //-->
    </script>
    </head>
    <body>
    <a onMouseOver="showDesc('TEST');">Geh hier drüber!</a>

    Ganz einfach: KEIN Netscape Browser kennt die Eigenschaft ".innerHTML".

    Gruß, Martin

    1. Hi zusammen,

      ...und schon gleich gar nicht das Objekt "all"

      Grüße,

      Utz

    2. Ganz einfach: KEIN Netscape Browser kennt die Eigenschaft ".innerHTML".

      Gruß, Martin

      Darum gehts wahrscheinlich nich nur, wenn ich ein alert('TEST'); mit in die Funktion einbaue funktioniert alert auch nicht.

      1. Sup!

        Nach Fehler brechen Programme normalerweise ab...
        Und wenn alert nicht funktioniert, dann ist vielleicht JS abgeschaltet ;-)

        Wie auch immer, Fakt ist, das es .innerHTML im Netscape (vor Version 6) nicht gibt.
        Wenn es noch mehr Probleme gibt, solltest Du vielleicht eine Demo-Seite machen und ins Netz stellen.

        Gruesse,

        Bio

        1. Ich hab jetzt nur noch die Funktion Alert auf der Seite.
          Java ist eingeschaltet. Anderer Script funktioniert dort.
          Also hier findet Ihr die Seite Online:

          http://www.wecom.net/wagener/test.htm

          Sven Wagener.

      2. Auf das Problem mit dem "all"-Objekt hat ja Utz schon hingewiesen. Es ist schlicht und ergreifend MS-spezifisch.
        (ist übrigens ausführlichst und hervorragend in selfHTML beschrieben....).
        Gebe nach dem onmouseover-Event einmal "javascript:" in der Adresszeile ein. Du bekommszt mit SIcherheit eine Meldung des Typs "document.all.information.innerHTML ist nicht definiert". Deswegen geht Dein alert auch nicht (im IEP wird es funktionieren)

        Die beste Möglichkeit wird sein: Definiere ein unsichtbares Div mit entsprechendem Inhalt und blende es bei onmouseover ein (= mache es sichtbar).
        Wenn Du mehrere verschiedene Texte benutzereingabenabhängig an gleicher Stelle anzeigen willst, musst Du halt mehrere DIVs definieren und dann die entsprechenden sichtbar machen.

        Folgendes sollte funktionieren:

        Was passiert bei folgendem Code?

        <!--
            function showDesc(Divname)
             {
             alert(Divname);
             if(document.layers)
             document[Divname].visibility = "visible";
             else
             document.all[Divname].style.visibility = "visible";
             }
        //-->
        </script>

        und:

        <a onMouseOver="showDesc('information');">Geh hier drüber!</a><br>
        <p>Gehen sie einfach mit dem Cursor der Maus über die einzelnen Tickets, um Informationen über die einzelnen Punkte zu erhalten.</p>
        <br><br>
        <p id="information" style="visibility:hidden;visibility:hide;">TEST</p>

        Gruß, Martin

        1. Zu Deinem Vorschlag:
          Im IE macht er halt noch den Alert, aber ändert den Text nicht.
          Im NS mach er gar nix.

          Danke trotzdem.

          Sven.

          1. Hi Sven,

            hatte den Code nicht getestet.

            Folgender funzt in NN 4.73 und IEP 5.01

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

            <html>
            <head>
            <title>Untitled</title>
            <script language="JavaScript">
            <!--
                function showDesc(Divname)
                 {
                 alert(Divname);
                 this.css =(document.layers) ? eval('document[Divname]'):eval('document.all[Divname].style');
                 this.css.visibility = "visible";
                 }
            //-->
            </script>
            </head>

            <body>
            <a href="#" onMouseOver="showDesc('information');">Geh hier drüber!</a><br>
            <p>Gehen sie einfach mit dem Cursor der Maus über die einzelnen Tickets, um Informationen über die einzelnen Punkte zu erhalten.</p>
            <br><br>
            <div id="information" style="position:relative;visibility:hidden;">TEST</div>

            </body>
            </html>

            Gruß, Martin

            1. Danke erstmal!

              Wurde das beim Netscape nur nicht ausgelöst, weil kein Link drin stand?
              (href="#")

              MfG,

              Sven Wagener

              1. Danke erstmal!

                Keine Ursache!

                Wurde das beim Netscape nur nicht ausgelöst, weil kein Link drin stand?
                (href="#")

                Unter anderem auch. Das führte aber nur dazu, dass NN keinen Link anzeigte.

                Das eigentliche Problem war, dass Du eine MS-spezifische Syntax zur Ansprache des Elements benutzt hattest

                Martin

  2. Sup!

    Martin hat völlig recht. ".innerHTML" gibt es beim Navigator nicht - und das weiss auch jeder, ausser Dir vielleicht - jedenfalls jeder...

    ...der das ARCHIV zu benutzen versteht...
    http://www.teamone.de/cgi-local/sfasuch.pl?suchausdruck=innerHTML&case=on&feld=alle&hits=alle

    ... der die AUSLESE gelesen hat...
    <../../sfausles/tsfa_tdb.htm>

    ... der SELFHTML mehr als 10 Minuten lang durchsucht hat...
    <../../tfbe.htm>
    <../../tecbba.htm#a10>
    <../../tfca.htm>

    ... also quasi jeder, der die FAQ gelesen hat:
    http://www.teamone.de/selfaktuell/forum/forumsfaq.htm
    http://www.teamone.de/selfaktuell/forum/forumsfaq_2.htm#a1

    Wie heisst es noch immer beim Bund: "Wer lesen kann, ist klar im Vorteil..."  *fg*
    Wie auch immer, ich hoffe, die Links helfen Dir weiter, bei Deinem Problem und beim Problem der "Kunst des Postens" ;-)

    Gruesse,

    <img src="http://outpost.purespace.de/webdesign.jpg" alt="">

    Bio

    1. Hi Bio!

      Ich kenne das Archiv als auch die Auslese, ich habe diese Möglichkeiten sehr oft genutzt.
      Ich könnte alle geposteten Artikel dann zu allen Funktionen, die ich in dem Skript habe durchgehen und sitze wahrscheinlich ziemlich lange daran, überhaupt an einen Lösungsansatz zu kommen.
      Es lag ja wohl anscheinend nicht am innerHTML. Alert funktioniert alleine ja wohl auch nicht. Letztendlich bin ich dan beim onMouseOver im Archiv hängegeblieben und keine dementsprechende Anwort gefunden.
      Ich habe zudem auch erwähnt das ich nicht gerade der erfahrenste in JS bin.
      Also bitte keine Moralpredigten über innerHTML!
      Getestet hab ich vorher auch meinen Teil.
      Daran lags ja wohl nicht!
      Sollte ich demnächst mal aufpassen, welchen Text ich hier genau poste, bzw wie ich ihn poste.
      Ein winzig kleiner Fehler in der Art eines postings kann einen schon solche Kommentare einbringen.

      Trotzdem Danke für ein paar Links.
      Also, nichts für ungut. Wollt nur mal was klarstellen.

      MfG,
      Sven Wagener.

  3. Hi
    Zusaetzlich zu dem bis jetzt gesagten gilt, dass NS im <a> tag ein href=".." braucht, um die onmouseover/out zu verstehen (Hab ich zumindest so in Erinnerung). Gib einfach
    <a href="#" onMouseOver="showDesc('TEST');"> an, dann muesste das klappen
    Tschau Holger

    1. Danke Holger

      Das wars dann denk ich mal auch.
      Nun wird es auch ausgelöst.
      Gibts für Java nicht noch einen anderen Tag, in dem man ein onMouseOver auslösen kann ausser <a> und <area>???
      (wie dort beschrieben: <../../tebj.htm#a18> , nicht dass ich mir wieder was nachsagen lasse.

      MfG,

      Sven Wagener.

      1. Hi Sven
        Wie da schoen geschrieben steht gibts fuer NS4.x keine! andere Moeglichkeit ein onMouseOver auszufuehren. Der IE kennt dagegen viel mehr Moeglichkeiten.
        Tschau Holger

        1. Ich liebe Netscape.

          Trotzdem Danke!

          Mfg,

          Sven Wagener.