andre: Was ist an den quelltext falsch ?!?

Hi an alle!

so ich hoffe das ich eine menge gute ideen und tips von euch bekomme. so das dieser quelltext bei mir funktioniert! also ich habe nach ein dynamische menü gesucht und das auch gefunden! habe dies nach meinen vorstellungen angepasst und es funktioniert und gefällt mir auch! da gibt es nur ein kleines problem mein rechner zuhause meldet ein fehler auf der letzten javascript zeile. warum? es liegt an den unterschiedlichen internetexplorern. denn der rechner auf der arbeit findet den quelltext ok und gibt mir keine fehlermeldung! auch wer es nett wenn  mir jemand sagen könnte wie ich das mit der tabelle anders machen könnte damit ich eine große tabelle bekomme und nicht jedesmal eine neue tabelle erstellen muss!

quelltext:

---------------------------------------------------------------------

<html><head>

<script>
<!--

var menublock=new Array() // das array wo die menu angaben gespeichert werden

menublock[0]=            "Na du|0;" //tabellen überschrift
menublock[1]=            "Menu-Titel 1|start.html;"//erster menüpunkt
menublock[2]=            "Menu-Titel 2|#;"+ //menüpunkt mit untermenü
                         "Link 3|beispiel1.html;"+//untermenüpunkt
                         "Link 4|beispiel1.html;"+
                         "Link 5|beispiel1.html;"+
                         "Link 6|beispiel1.html;"+
                         "Link 7|beispiel1.html"
menublock[3]=            "Menu-Titel 3|#;"+
                         "Link 9|beispiel1.html;"+
                         "Link 10|beispiel1.html;"+
                         "Link 11|beispiel1.html"
menublock[4]=            "frei|#"  //leerzeile für nächste tabelle
menublock[5]=            "prog|0;"
menublock[6]=            "Menu-Titel 1|start.html;"
menublock[7]=            "Menu-Titel 2|#;"+
                         "Link 3|beispiel1.html;"+
                         "Link 4|beispiel1.html;"+
                         "Link 5|beispiel1.html;"+
                         "Link 6|beispiel1.html;"+
                         "Link 7|beispiel1.html"
menublock[8]=            "Menu-Titel 3|#;"+
                         "Link 9|beispiel1.html;"+
                         "Link 10|beispiel1.html;"+
                         "Link 11|beispiel1.html"
var menusplit
var urlsplit

var showsubmenus=new Array()//merkt sich welches menü offen ist
for (i=0;i<=menublock.length-1;i++) { showsubmenus[i]=-1 }

function openandclose(visi) {

showsubmenus[visi]=(-1)*showsubmenus[visi]

var menucontent=""

for (i=0;i<=menublock.length-1;i++)//zeigt das menü an
{

menusplit=menublock[i].split(";");//geht zur nächsten angabe
    urlsplit=menusplit[0].split("|");//splitt dia angaben

if(urlsplit[0]=='frei')//schreibt eine leerspalte rein
    {
       menucontent+="<table height='20' width='110' cellspacing='2'><tr><td></td></tr></table>";
    }
    else if(urlsplit[1]=='0')//schreibt die menüüberschrift
    {
       menucontent+="<table border='0' width='110' bgcolor='#000098' cellspacing='2'><tr><td bgcolor='#ff0000'><font color='#880000'> "+urlsplit[0]+"</font></td></tr></table>";
    }
    else
    {
       if(urlsplit[1]=='#') urlsplit[1]= 'javascript:openandclose('+i+')';//schaut ob es ein untermenü ist

menucontent+="<table border='0' width='110' bgcolor='#000098' cellspacing='2'><tr><td bgcolor='#df0000'><a href="+urlsplit[1]+"><font color='#880000'> "+urlsplit[0]+"</font></a></td></tr></table>"; //erstellt das menü

if (showsubmenus[i]==1)//untermenü darstellen
       {
           for (ii=1;ii<=menusplit.length-1;ii++)//zeigt alle untermenüs an
           {
               urlsplit=menusplit[ii].split("|");
               menucontent+="<table border='0' width='110' bgcolor='#000098' cellspacing='2'><tr width='50'><td width='10'></td><td bgcolor='#0040ff'> <a href="+urlsplit[1]+"><font color='#006655'>"+urlsplit[0]+"</font></a></td></tr></table>"//untermenü erstellung
           }
       }

}//zeigt die menüs an
    if (document.all) {  menu.innerHTML=menucontent  };
    if (document.layers)
    {
       document.menu.document.write(menucontent);
       document.menu.document.close();
    }
}
}

-->
</script>
</head>

<body onload="openandclose(10000)">//lädt das menü

//gibt die stelle an wo es stehen soll
<div id="menu" style="position:absolute;top:20px;left:5px"></div>

</body>
</html>

---------------------------------------------------------------------

so ich hoffe das ihr den fehler findet. vielen dank schon mal!

mfg andre

Ps: kommentare zum quelltext müssen nicht umbedingt stimmen

  1. Hallo Andre,

    Bevor du dich hier auf Fehlersuche machst ...
    Ist dir klar, dass dieses Skript nur auf IE und NN4 funktionieren kann?

    }//zeigt die menüs an
        if (document.all) {  menu.innerHTML=menucontent  };
        if (document.layers)
        {
           document.menu.document.write(menucontent);
           document.menu.document.close();
        }

    Hier fehlt ein if (document.getElementById) für moderne standardkonforme Browser... Und die müssen dann nicht nur identifiziert sondern auch mit dem richtigen Code versehen werden. ;-)
    So eine Geschichte anzupassen dauert oft länger als das Ganze noch einmal neu anzugehen ... oder sich nach Alternativen umzusehen.

    Gruß Susanne

    1. Bevor du dich hier auf Fehlersuche machst ...
      Ist dir klar, dass dieses Skript nur auf IE und NN4 funktionieren kann?

      das ist mir einigermassenklar soll für internetexplorer sein!

      }//zeigt die menüs an
          if (document.all) {  menu.innerHTML=menucontent  };
          if (document.layers)
          {
             document.menu.document.write(menucontent);
             document.menu.document.close();
          }

      Hier fehlt ein if (document.getElementById) für moderne standardkonforme Browser... Und die müssen dann nicht nur identifiziert sondern auch mit dem richtigen Code versehen werden. ;-)

      wo kommt das if rein? versteh ich net ganz!

      So eine Geschichte anzupassen dauert oft länger als das Ganze noch einmal neu anzugehen ... oder sich nach Alternativen umzusehen.

      das problem ist das ich keine richtigen alternativen gefunden habe!

      gruß zurück andre

      1. hallo andre
        eine andere möglichkeit ist,in das menue einige layer zu integrieren:
        z.B. in deinem falle

        }//zeigt die menüs an
            if (document.all) {  menu.innerHTML=menucontent  };
            if (document.layers)
            {  <div do

        droptablemenue.list.downorg.asstring;

        document.menu.document.write(menucontent);
               document.menu.document.close(); /div>

        <hb> "testemenue1" </hb>
                     <hb> "testemenue1" </hb>

        }

        probiers einfach mal aus

        1. hallo

          eine andere möglichkeit ist,in das menue einige layer zu integrieren:
          z.B. in deinem falle

          }//zeigt die menüs an
              if (document.all) {  menu.innerHTML=menucontent  };
              if (document.layers)
              {  <div do
                       droptablemenue.list.downorg.asstring;
                 document.menu.document.write(menucontent);
                 document.menu.document.close(); /div>
                       <hb> "testemenue1" </hb>
                       <hb> "testemenue1" </hb>
              }

          probiers einfach mal aus

          ich weiß nicht wie soll ich dir das sagen das funktioniert bei mir nicht! da gibt es ein syntaxfehler nach if(document.layers).

          andre

          1. du musst eventuel in deinen ie(wenn du noch vnr 4.0 oder so hast)
            eine dll-datei inplementieren [dll heist direct lorest landification was soviel heisst wie direkter schreibzugriff]
            deshalb könnte es sein dass der ASK (associatet sensible kolumator) =html-writer das nich erkennt

            1. alles klar versteh zwar nur bahnhof aber nu ja!
              hab die version 5.00 daran kann es also net liegen!

              langsam aber sicher find ich javascript doof !!!

              1. Hallo Andre,

                alles klar versteh zwar nur bahnhof aber nu ja!

                Mach Dir nix draus, Frank fand es irgendwie witzig, Dich zu veralbern.

                Grüße,

                Utz

                1. *hups mir gar nicht aufgefallen! aber wo du das erwähnst ist es mir auch aufgefallen z.B. .dll heißt dynamik link libary usw.

                  dank

                  1. nein du musst mir glauben, nach der neuen microsoft-konvention msk 37F8 wurde beschlossen, dll-dateien bekommen mehrere bezeichnungen, da man sie nicht genau definieren kann. Kann sein das Utz das noch nicht wusste, gibt es ja auch erst seit dem 16.Mai.

                    Grüße, Frank

                    1. hallo andre,
                      utz hat recht der schönel versucht dich zu verarschen. lass dich nicht unterkriegen. und gib nicht so schnell auf mit java script!
                      ich hatte mal das selbe problem und es liegt tatsächlich am ie von microsoft oder sollte ich microschrott sagen?
                      geh mal unter extras\internetoptionen auf erweitert und stelle
                      unter dem punkt multimedia die optionen sound und video wiedergeben
                      aus - das wird nämlich von javascript nicht unterstützt!!

              2. lass dir nichts einreden
                du könntest höchstens nochmal folgendes probieren
                integriere in die umbz folgendes:
                <div> setlogicalthing-1 to next
                      <table><td>bgcolor := true</td></table>
                </div>

      2. Hallo Andre,

        das ist mir einigermassenklar soll für internetexplorer sein!

        Und welche Alternative willst du dann für andere BesucherInnen bieten? Ist die Navigation auf deinen Seiten so unwichtig?

        Hier fehlt ein if (document.getElementById) für moderne standardkonforme Browser... Und die müssen dann nicht nur identifiziert sondern auch mit dem richtigen Code versehen werden. ;-)

        wo kommt das if rein? versteh ich net ganz!

        if (document.getElementeByID) { moderner Browser mach was } // fehlt
        else {
          if (document.all) {  IE > 4 mach was  }; // gibts schon
                 übrigens: muss das nicht ;} heißen?
         if (document.layers) { NN4 mach was } //gibts auch
        }

        Gruß Susanne

        1. Hallo Susanne,

          Und welche Alternative willst du dann für andere BesucherInnen bieten? Ist die Navigation auf deinen Seiten so unwichtig?

          diese seiten solln nicht ins internet! schreib sie für den privatgebrauch als eine art präsentation also bekommen nur ausgewählte leute und die sollten javascript an haben!

          Gruß zurück andre

  2. <script>

    type-Attribut fehlt: <script type="text/javascript">

    Und wie navigieren Benutzer ohne Javascript durch die Site? Mit dem Back-Button des Browsers!

    Wenn schon Navigation mit JS, dann unbedingt eine Alternative im noscript-Bereich zur Verfügung stellen!

    Gunnar

    --
    Die Menschen sollten endlich lernen, andere Kulturen objektiv zu betrachten, damit sie wissen, wann sie sich einmischen sollten und wann nicht.
    (T'Pol in Enterprise: "Aufbruch ins Unbekannte")
    1. Hi!

      <script>

      type-Attribut fehlt: <script type="text/javascript">

      du meinst das liegt wirklich nur daran das da was fehlt! die kleinigkeiten sind es die das leben schwer machen! werd mal heut abend zuhause schaun ob das der fehler ist!

      Und wie navigieren Benutzer ohne Javascript durch die Site? Mit dem Back-Button des Browsers!

      nu wir gehen einfach mal davon aus das die javascript haben!

      Wenn schon Navigation mit JS, dann unbedingt eine Alternative im noscript-Bereich zur Verfügung stellen!

      mal sehen komm schon auf die idee das es mit einfaches html viel leichter ist. mach zwar viel mehr arbeit aber nu ja!

      mfg andre

      1. type-Attribut fehlt: <script type="text/javascript">

        du meinst das liegt wirklich nur daran das da was fehlt! die kleinigkeiten sind es die das leben schwer machen! werd mal heut abend zuhause schaun ob das der fehler ist!

        Nein, das war mit Sicherheit nicht der Fehler, warum dein Script nicht funktioniert. Es war ein Fehler in HTML (deshalb geänderter Themenbereich).

        Und wie navigieren Benutzer ohne Javascript durch die Site? Mit dem Back-Button des Browsers!

        nu wir gehen einfach mal davon aus das die javascript haben!

        Wirklich nicht die günstigste Annahme. Wenn auch in den meisten Fällen zutreffend. Aber kein Grund, die anderen auszuschließen.

        Wie wär's mit serverseitiger Realisierung?
        Gunnar

        --
        Die Menschen sollten endlich lernen, andere Kulturen objektiv zu betrachten, damit sie wissen, wann sie sich einmischen sollten und wann nicht.
        (T'Pol in Enterprise: "Aufbruch ins Unbekannte")
  3. Hallo,

    da gibt es nur ein kleines problem mein rechner zuhause meldet ein fehler auf der letzten javascript zeile. warum?
    quelltext:


    <html><head>

    <script>
    <!--

    ...

    -->

    ^hier ist der Fehler.

    </script>
    </head>

    Alles innerhalb des script-Elements wird als Anweisungen in der Scriptsprache interpretiert. Da Du keine angibst ist es Zufall, welche der Browser annimmt. In JavaScript gibt es die Anweisung --> nicht. Sie muss auskommentiert werden. Einzeilige Kommentare werden in JavaScript mit // eingeleitet.

    <script type="text/javascript">
     <!--
     ...
     //-->
    </script>

    Scheinbar sehen das die IEs(Version <6?), in denen es funktioniert nicht so eng.

    viele Grüße

    Axel

    1. dank dir das könnte es gewessen sein! werd das heut abend wissen!

      danke

      mfg andre

  4. hi an alle!

    es funktioniert der fehler war das ich hier es vergessen habe

    -->            (falsch)
    //-->          (richtig)
    </script>

    danke axel

    und danke den rest!

    mfg andre