Andi: Netscape kommt mit meinen Ebenen nicht zurecht...

Hallo Freunde

Ich habe hier ein kleines Problem. Habe nämlich aus dem WEB ein nettes Script gefunden um eine dynamische Navigationsleiste mit ausklappbarem Untermenü zu erstellen. habe es etwas umgeschrieben und es funktioniert nun auch einwandfrei mit dem Internet Explorer... Nur streikt mal wieder der Netscape Communikator.... Sonderbar ist dies v.a. deshalb weil ja im Script eine Browser-Weiche vorgesehen ist...
Würde mich freuen wenn mir jemand weiterhelfen könnte. Ich stelle den geamten Code einfach mal hier rein.

Vielen Dank schonmal

Grüße

Andi

  1. <!-- SSI Error Message -- No Source Code available -->
    <HTML>
    <HEAD>
    <TITLE>Going Online Internet-Services</TITLE>
    <script>

    var navegador
     var IE4=1;
     var IE5=2;
     var NS4=3;
     var NS5=4;
     if (navigator.appName == "Netscape"){
      if (navigator.appVersion.search("5.0")!=-1) navegador=NS5
      else navegador=NS4
     }
     else {
      if (navigator.appVersion.search("MSIE 5.0")!=-1) navegador=IE5
      else navegador=IE4
     }
     function Enlace(URL){
      if (navegador==IE4){
       varEnlace="onClick="
       varEnlace=varEnlace+"window.location='"
       varEnlace=varEnlace + URL+"' style='CURSOR:Hand'"
       return varEnlace
      }
      else{
       varEnlace="href='"
       varEnlace=varEnlace + URL+"'"
       return varEnlace
      }
     }

    </script>

    <script language="JavaScript">
    <!--

    function MM_showHideLayers()
    { //v3.0
      var i,p,v,obj,args=MM_showHideLayers.arguments;
      for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null)
      {
       v=args[i+2];
        if (obj.style)
        {
         obj=obj.style;
         v=(v=='show')?'visible':(v='hide')?'hidden':v;
        }
        obj.visibility=v;
       }
    }

    function MM_findObj(n, d)
    { //v3.0
     var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
     {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
     }
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
    }

    function farbwechsel(kennid)
    {
     document.getElementById(kennid).style.backgroundColor = "#FFFFFF";
    }

    function farbwechseln(kennid)
    {
     document.getElementById(kennid).style.backgroundColor = "#CCCCCC";
    }

    //-->
    </script>

    </HEAD>
    <BODY BGCOLOR="#ffffff" TEXT="#333333" LINK="FF6347" VLINK="FF6347" ALINK="#FFFFFF" background="../scripts/img/hi.gif">

    <DIV ALIGN="CENTER">
       <p></p>
       <p></p>
       <table cellpadding="0" cellspacing="0" border="0" align="center">

    <tr>
      <td align="left" width="539">
    <a href="../scripts/menue/auf_konz.htm" onMouseOver="MM_showHideLayers('Auftritt','','show','Redaktion','','hide','Events','','hide','Service','','hide','Consult','','hide','Kontakt','','hide')">
    Doppler-Systeme</a>
      </td>
      <td align="left" width="40">
    <a href="../scripts/menue/red_text.htm" onMouseOver="MM_showHideLayers('Auftritt','','hide','Redaktion','','show','Events','','hide','Service','','hide','Consult','','hide','Kontakt','','hide')">
    Plethysmographen</a>
      </td>
      <td align="left" width="200">
    <a href="../scripts/menue/ev_spiel.htm" onMouseOver="MM_showHideLayers('Auftritt','','hide','Redaktion','','hide','Events','','show','Service','','hide','Consult','','hide','Kontakt','','hide')">
    Zubehör</a>
      </td>
      <td align="left" width="200">
    <a href="../scripts/menue/serv_domain.htm" onMouseOver="MM_showHideLayers('Auftritt','','hide','Redaktion','','hide','Events','','hide','Service','','show','Consult','','hide','Kontakt','','hide')">
    Aktuell</a>
      </td>
      <td align="left" width="200">
    <a href="../scripts/menue/con_marke.htm" onMouseOver="MM_showHideLayers('Auftritt','','hide','Redaktion','','hide','Events','','hide','Service','','hide','Consult','','show','Kontakt','','hide')">
    Kontakt</a>
      </td>
      <td align="left" width="200">
    <a href="../scripts/menue/kont_ad.htm" onMouseOver="MM_showHideLayers('Auftritt','','hide','Redaktion','','hide','Events','','hide','Service','','hide','Consult','','hide','Kontakt','','show')">
    Über Uns</a>
      </td>
     </tr>

    <tr>
    <!--------1. Obermenü //---------------------------------------------------------------------------------------------->

    <td align="left" valign="top" width="539" background="../../grafiken/a-O-AD_3_k.gif"><SCRIPT LANGUAGE=javascript>

    <!--
       if(navegador==NS4){
        document.write('<layer id="Auftritt" z-index=2; visibility="hide"');
       }
       else{
        document.write('<div id="Auftritt" style="z-index:2; visibility: hidden;"');
       }
       //-->
       </SCRIPT>

    onMouseOver="MM_showHideLayers('Auftritt','','show')" onMouseOut="MM_showHideLayers('Auftritt','','hide')">
                <table width="120" cellspacing="0" bgcolor="black" background="(EmptyReference!)">
                <tr>
                 <td>
                   <table width="120" border="0" bgcolor="white">
                    <tr>
                     <td id="p1" onMouseOver="farbwechseln('p1')" onMouseOut="farbwechsel('p1')" style="background-color: #FFFFFF" valign="top"><a href="../scripts/menue/auf_konz.htm">Produkt1</a>
                     </td>
                    </tr>
                    <tr>
                     <td  id="p2" onMouseOver="farbwechseln('p2')" onMouseOut="farbwechsel('p2')" style="background-color: #FFFFFF"><a href="../scripts/menue/auf_real.htm">Produkt2</a></td>
                     </tr>
                     <tr>
                      <td  id="p3" onMouseOver="farbwechseln('p3')" onMouseOut="farbwechsel('p3')" style="background-color: #FFFFFF"><a href="../scripts/menue/auf_re.htm">Produkt3</a></td>
                     </tr>
                     <tr>
                      <td  id="p4" onMouseOver="farbwechseln('p4')" onMouseOut="farbwechsel('p4')" style="background-color: #FFFFFF"><a href="../scripts/menue/auf_manag.htm">Produkt4</a></td>
                     </tr>
                     <tr>
                       <td  id="p5" onMouseOver="farbwechseln('p5')" onMouseOut="farbwechsel('p5')" style="background-color: #FFFFFF"><a href="../scripts/menue/auf_ecom.htm">Produkt5</a></td>
                      </tr>
                     </table>
                    </td>
                   </tr>
                 </table>
           <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
           </SCRIPT>
          <p></p>
         </td>

  2. <!--------2. Obermenü //---------------------------------------------------------------------------------------------->
    <td align="left" valign="top" width="40">
    <SCRIPT LANGUAGE=javascript>
       <!--
       if(navegador==NS4){
        document.write('<layer id="Redaktion" z-index=1; visibility="hide"');
       }
       else{
        document.write('<div id="Redaktion" style=" z-index:1; visibility: hidden;"');
       }
       //-->
       </SCRIPT>
        onMouseOver="MM_showHideLayers('Redaktion','','show')" onMouseOut="MM_showHideLayers('Redaktion','','hide')">
    <table width="120" cellspacing="0" bgcolor="black">
     <tr>
     <td>
    <table width="120" border="0" bgcolor="white">
       <tr>
        <td  id="p6" onMouseOver="farbwechseln('p6')" onMouseOut="farbwechsel('p6')" style="background-color: #FFFFFF"><a  href="../scripts/menue/red_text.htm">Produkt6</a></td>
       </tr>
       <tr>
        <td  id="p7" onMouseOver="farbwechseln('p7')" onMouseOut="farbwechsel('p7')" style="background-color: #FFFFFF"><a href="../scripts/menue/red_news.htm">Produkt7</a></td>
       </tr>
       <tr>
        <td  id="p8" onMouseOver="farbwechseln('p8')" onMouseOut="farbwechsel('p8')" style="background-color: #FFFFFF"><a href="../scripts/menue/red_re.htm">Produkt8</a></td>
       </tr>
       </table>
      </td>
     </tr>
    </table>
                             <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
        </SCRIPT>
    </td>

    <!--------3. Obermenü //---------------------------------------------------------------------------------------------->
    <td align="left" valign="top" width="200">
    <SCRIPT LANGUAGE=javascript>
       <!--
       if(navegador==NS4){
        document.write('<layer id="Events" z-index=3; visibility="hide"');
       }
       else{
        document.write('<div id="Events" style=" z-index:1; visibility: hidden;"');
       }
       //-->
       </SCRIPT>

    onMouseOver="MM_showHideLayers('Events','','show')" onMouseOut="MM_showHideLayers('Events','','hide')">
    <table width="120" cellspacing="0" bgcolor="black" background="(EmptyReference!)">
     <tr>
      <td>
       <table width="120" border="0" bgcolor="white">
        <tr>
         <td  id="z1" onMouseOver="farbwechseln('z1')" onMouseOut="farbwechsel('z1')" style="background-color: #FFFFFF"><a href="../scripts/menue/ev_spiel.htm">Phlebo1</a></td>
        </tr>
       </table>
       </td>
      </tr>
    </table>    <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
        </SCRIPT>
    </td>

    <!--------4. Obermenü //---------------------------------------------------------------------------------------------->
    <td align="left" valign="top" width="200">
    <SCRIPT LANGUAGE=javascript>
       <!--
       if(navegador==NS4){
        document.write('<layer id="Service" z-index=4; visibility="hide"');
       }
       else{
        document.write('<div id="Service" style="z-index:4; visibility: hidden;"');
       }
       //-->
       </SCRIPT>
        onMouseOver="MM_showHideLayers('Service','','show')" onMouseOut="MM_showHideLayers('Service','','hide')">
    <table width="120" cellspacing="0" bgcolor="black" background="(EmptyReference!)">
     <tr><td>
    <table width="120" border="0" bgcolor="white">
    <tr>
     <td  id="n1" onMouseOver="farbwechseln('n1')" onMouseOut="farbwechsel('n1')" style="background-color: #FFFFFF"><a href="../scripts/menue/serv_domain.htm">News1</a></td>
    </tr>
    <tr>
     <td id="n2" onMouseOver="farbwechseln('n2')" onMouseOut="farbwechsel('n2')" style="background-color: #FFFFFF"><a href="../scripts/menue/serv_host.htm">News2</a></td>
    </tr>
    <tr>
     <td id="n3" onMouseOver="farbwechseln('n3')" onMouseOut="farbwechsel('n3')" style="background-color: #FFFFFF"><a href="../scripts/menue/serv_such.htm">News3</a></td>
    </tr>
    <tr>
     <td id="n4" onMouseOver="farbwechseln('n4')" onMouseOut="farbwechsel('n4')" style="background-color: #FFFFFF"><a href="../scripts/menue/serv_traff.htm">News4</a></td>
    </tr>
    </table>
    </td></tr>
    </table>
        <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
        </SCRIPT>
    </td>

    <!--------5. Obermenü //---------------------------------------------------------------------------------------------->
    <td align="left" valign="top" width="200">
    <SCRIPT LANGUAGE=javascript>
       <!--
       if(navegador==NS4){
        document.write('<layer id="Consult" z-index=6; visibility="hide"');
       }
       else{
        document.write('<div id="Consult" style="z-index:6; visibility: hidden;"');
       }
       //-->
       </SCRIPT>
        onMouseOver="MM_showHideLayers('Consult','','show')" onMouseOut="MM_showHideLayers('Consult','','hide')">
    <table width="120" cellspacing="0" bgcolor="black" background="(EmptyReference!)">
     <tr><td>
    <table width="120" border="0" bgcolor="white">
    <tr>
     <td id="adresse" onMouseOver="farbwechseln('adresse')" onMouseOut="farbwechsel('adresse')" style="background-color: #FFFFFF"><a href="../scripts/menue/con_promo.htm">Adresse</a></td>
    </tr>
    <tr>
     <td id="nummer" onMouseOver="farbwechseln('nummer')" onMouseOut="farbwechsel('nummer')" style="background-color: #FFFFFF"><a href="../scripts/menue/con_marke.htm">Nummer</a></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>   <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
        </SCRIPT>
    </td>

    <!--------6. Obermenü //---------------------------------------------------------------------------------------------->
    <td align="left" valign="top" width="200">
    <SCRIPT LANGUAGE=javascript>
       <!--
       if(navegador==NS4){
        document.write('<layer id="Kontakt" z-index=6; visibility="hide"');
       }
       else{
        document.write('<div id="Kontakt" style="z-index:6; top: 40px; visibility: hidden;"');
       }
       //-->
       </SCRIPT>
        onMouseOver="MM_showHideLayers('Kontakt','','show')" onMouseOut="MM_showHideLayers('Kontakt','','hide')">
    <table width="120" cellspacing="0" bgcolor="black" background="(EmptyReference!)">
     <tr><td>
     <table width="120" border="0" bgcolor="white">
     <tr>
      <td id="geschichte" onMouseOver="farbwechseln('geschichte')" onMouseOut="farbwechsel('geschichte')" style="background-color: #FFFFFF"><a href="../scripts/menue/kont_ad.htm">Geschichte</a></td>
     </tr>
     <tr>
      <td id="ziele" onMouseOver="farbwechseln('ziele')" onMouseOut="farbwechsel('ziele')" style="background-color: #FFFFFF"><a href="../scripts/menue/kont_ref.htm">Ziele</a></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>    <SCRIPT LANGUAGE=javascript>
        <!--
        if(navegador==NS4){
         document.write('</layer>');
        }
        else{
         document.write('</div>');
        }
        //-->
        </SCRIPT>
    </td>

    </tr>
    </table>

    </DIV>
     </BODY>
    </HTML>

  3. hallo Andi,

    Nur streikt mal wieder der Netscape Communikator.... Sonderbar ist dies v.a. deshalb weil ja im Script eine Browser-Weiche vorgesehen ist...

    Sonderbar ist allenfalls, daß du ein viel zu langes Script eingebaut und völlig ohne Verständnis übernommen hast. Deine Browserweiche enthält diese Teile:
     var IE4=1;
     var IE5=2;
     var NS4=3;
     var NS5=4;
     if (navigator.appName == "Netscape"){
      if (navigator.appVersion.search("5.0")!=-1) navegador=NS5

    Na, klingelts? Bis zu welcher Netscape-Version wird das Script wohl mitmachen?
    Es ist wenig effektiv, eine Browserweiche nach "appVersion" zu orientieren, außerdem fallen andere Browser wie Opera usw. völlig raus. Du solltest, wenn überhaupt, als Kriterium angeben, ob es sich um einen DOM-fähigen Browser handelt.

    Und am besten: _Niemals_ unverstandene Scripts aus dem WWW einfach übernehmen. Schau dir an, wie solche Scripts funktionieren, versuche, das Prizip zu verstehen und bau dann grundsätzlich deine eigenen.

    Grüße aus Berlin

    Christoph S.