TOM: NN 4.6 schmiert ab obwohl HTML4.01 konform???

Hi ich hab meine Seite mit dem Validator gecheckt - alles ok!

Aber wenn man die mit dem NN4.6 aufmacht geht er sofort wieder zu - warum das denn??

Jemand ne Idee?

MfG TOM

  1. hallo.

    haste mal nen link?

    lg aw

    1. HI!

      nö is blöde weil intranet, aber ich kann die Seite mal hier reinposten:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>SIEMENS © ExpertGUI 0.1</TITLE> <STYLE TYPE="text/css"> <!-- body { background-color:#FFFFFF; align:middle; } table { margin:0px; } --> </STYLE> <SCRIPT TYPE="text/javascript"> <!--     var eing = true;     var byid = true;     var docall = false;     var temp = '';       function selectkks(){           document.status='blablabla';       }       function Object(Name){         if(this.byid){           if(document.getElementById(Name).style.display != "none")              DelObject(Name);           else ShowObject(Name);         }         else if(this.docall && !this.byid){           if(document.all[Name].style.display == "block")               DelObject(Name);           else ShowObject(Name,Text);         }       }       function ShowObject(Name){           if (this.docall && !this.byid) {                document.all[Name].style.display = "block";            }           else if (this.byid){                document.getElementById(Name).style.display = "block";            }       }       function DelObject(Name){

      if (this.docall && !this.byid)              document.all[Name].style.display = "none";           else if (this.byid)              document.getElementById(Name).style.display = "none";       }       function init(){             if(document.getElementById) this.byid = true;             else{               if(document.all && !document.getElementById) {this.byid = false; docall = true;               }else alert('Fehler beim DOM - Modell!\n\nBitte an den Programmierer wenden!\n(Thomas.Kagerer@erl11.siemens.de oder Webmaster@ngwebdesign.de)');             }             Object('kw_s');             Object('kks_s');             Object('oper');             //Object('mathml');             Object('editor');             Object('source');       }       function operator(Name1, Name2){           if(this.byid){                var i = document.getElementById(Name1).selectedIndex;                var wert = document.getElementById(Name1).options[i].value;           }           else if (this.docall){                var i = document.all[Name1].selectedIndex;                var wert = document.all[Name1].options[i].value;           }           if(wert != ''){               this.temp = Name1;               if(this.byid) setTimeout('document.getElementById("'+Name1+'").selectedIndex = 0',750);               else if(this.docall) setTimeout('document.all["'+Name1+'"].selectedIndex = 0',750);               developement(wert, Name2);           }       }       function developement(wert, Name){           if(this.byid) var data = document.getElementById(Name).value;           else if(this.docall) var data = document.all[Name].value;               var val1 = wert.substr((data.length - 1),1);         var val4 = wert.substr((data.length - 2),1);               var val2 = wert.substr((data.length - 2),1);         var val5 = wert.substr((data.length - 3),1);               var val3 = wert.substr(data.length - 4,2);           var val6 = wert.substr(data.length - 5,2);           if( (val1 == '>' && val2 == '/' && (val3 == 'ci' || val3 == 'cn') ) || (val4 == '>' && val5 == '/' && (val6 == 'ci' || val6 == 'cn') ) )               lastop = true; else lastop = false;

      if(lastop == true){                   data = data + '\n' + wert;                   if(this.byid) document.getElementById(Name).value = data;                   else if(this.docall) document.all[Name].value = data;                   this.eing = false;               }else{                   if(wert.substr(0,1) != '<'){                       data = data + '\n<ci>' + wert + '<ci/> ';                       if(this.byid) document.getElementById(Name).value = data;                       else if(this.docall) document.all[Name].value = data;                   }else{                       alert('checkapply = ' + checkapply(data));                       if(t > 0){                           for(var t = checkapply(data); t>0; t--){                                data = data + '<' + '/apply> ';                           }                       }else{                           for(var t = checkapply(data); t<0; t++){                                data = data + '<apply> ';                           }                       }                       data = data + ' ' + wert;                       if(this.byid) document.getElementById(Name).value = data;                       else if(this.docall) document.all[Name].value = data;                   }               }       }       function checkapply(wert){           var i = wert.length;           var ohook = 0;           var chook = 0;           while(i > 0){               i--;               if(wert.substr(i,7) == '<apply>'){                 ohook++;               }           }           var i = wert.length;           while(i > 0){               i--;               if(wert.substr(i,1) == '<' && wert.substr(i+1,7) == '/apply>'){                 chook++;               }           }           if(ohook == 0){               hook = 99;           }else hook = ohook - chook;           return hook;       } //--> </SCRIPT> <meta name="description" content="ExpertGui"> <meta name="date" content="2002-07-09T05:29:31+00:00"> <meta name="author" content="Thomas Kagerer W711"> <meta name="keywords" content="PG, Power Generation, KWU, Kraftwerksunion, MathML, Editor, Entwicklungsumgebung, Formeln"> <meta name="robots" content="index"> <meta name="robots" content="nofollow"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="styles.css" rel="stylesheet" type="text/css"> </HEAD> <BODY onload="JavaScript:init();"> <div style="position:absolute; top:10px; left:91%;"> <a href="http://validator.w3.org/check/referer"> <img border="0" src="../../gif/valid-html401" alt="Valid HTML 4.01!" height="31" width="88"></a> </div> <FORM NAME = "form" action="ExpertGui.php" method="get">

      <input type="hidden" name="putin" value="0"> <input type="hidden" name="edit" value="1"> <table id="table_m" class="border_style" border="1" style="width:100%; height:277px;"><caption></caption> <tr valign="top" align="left"> <td class="table_style"

      <div align="center"><input type="button" class="button_style" value="Kraftwerk wählen" onclick="Javascript:Object('kw_s');"></div>

      <div id="kw_s" align="center" style="display:block"> <select name="kw" id="kw" class="select_style" onchange="JavaScript:document.form.submit();">

      <option value="arzew" >ALG293 / Arzew</option> <option value="genelb" >ARG279 / Genelba</option> <option value="genelb2" >ARG311 / Genelba 2</option> <option value="kwinana" >AUS370 / Kwinana CCGT</option> <option value="itaipu" >BRA222 / Itaipu Mondig</option> <option value="kbb" >BRD008 / Brunsbüttel</option> <option value="kkp1" >BRD009 / Philippsburg 1</option> <option value="kkp2" >BRD010 / Philippsburg 2</option> <option value="hines" >USA984 / Hines II</option> <option value="phumy2ea" >VIT136 / Phu My 2.1 EA</option> <option value="phumy4" >VIT152 / Phu My 4</option> <option value="demo" >XXX000 / Demo</option> <option value="index" selected>ZEN000 / Telemonitoring</option></select></div> <div align="center"><input type="button" class="button_style" value="KKS auswählen" onclick="Javascript:Object('kks_s');"></div> <div id="kks_s" align="center" style="display:block"> <select name="kks" id="kks" class="select_style" onchange="JavaScript:operator('kks', 'mathml_txt')">

      <option value="">Auswahl KKS</option> <option value=""></option> <option value="Dummy1">Dummy1</option> <option value="Dummy2">Dummy2</option> <option value="MBA45FG">MBA45FG</option></select></div><div align="center"><input type="button" class="button_style" value="Operatoren" onclick="Javascript:Object('oper');"></div> <div id="oper" align="center" style="display:block"> <select name="oper_s" id="oper_s" class="select_style" onchange="Javascript:operator('oper_s','mathml_txt');">

      <option value="">Grundrechenarten</option> <option value=""></option> <option value="<PLUS/>">ADDIEREN</option> <option value="<MINUS/>">SUBTRAHIEREN</option> <option value="<DIVIDE/>">DIVIDIEREN</option> <option value="<TIMES/>">MULTIPLIZIEREN</option></select></div> </td  ><td align="center" valign="top" class="table_style"  ><table cellspacing="0" cellpadding="0" border="0"><tr     ><td align="left" valign="top" colspan="3"       ><img src="../../gif/ocd_lightblue.gif" width="700" height="15" alt=""></td    ></tr    ><tr     ><td align="left" valign="top"      ><img name="close1" id="close1" src="../../gif/ocd_lightblue.gif"       border="0" width="15" height="50" alt=""></td     ><td align="center" valign="top">

      <a href="Javascript:Object('editor');"> <img src="../../gif/ocd_pagedown.gif" border="0" alt=""> <small>Entwicklung</small></a> <a href="Javascript:Object('source');"> <img src="../../gif/ocd_pagedown.gif" border="0" alt=""> <small>Quelltext</small></a> <a href="Javascript:Object('mathml');"> <img src="../../gif/ocd_pagedown.gif" border="0" alt=""> <small>MathML-Code</small></a><br><br> <div class="text_style" id="editor" style="display:block; border:1px solid black; margin:0px; width:640px; height:165px;">Entwicklung <textarea name="editor_txt" cols="75" rows="8"></textarea></div><br> <div class="text_style" id="source" style="display:block; border:1px solid black; margin:0px; width:640px; height:165px;">Quelltext <textarea name="source_txt" id="source_txt" cols="75" rows="8"></textarea></div><br> <div class="text_style" id="mathml" style="display:block; border:1px solid black; margin:0px; width:640px; height:165px;">MathML-Code <textarea name="mathml_txt" id="mathml_txt" cols="75" rows="8"></textarea></div><br>     </td     ><td align="right" valign="top"      ><img name="close2" id="close2" src="../../gif/ocd_lightblue.gif"       border="0" width="15" height="50" alt=""></td    ></tr     ><tr      ><td align="left" valign="top" colspan="3"       ><img src="../../gif/ocd_lightblue.gif" width="700" height="15" alt=""></td     ></tr   ></table  ></td

      </tr </table </FORM </BODY </HTML>

      MfG TOM

      1. Hi Tom,

        nö is blöde weil intranet, aber ich kann die Seite mal hier reinposten:

        (...)

        <SCRIPT TYPE="text/javascript">
        <!--

        (...)

        //-->
        </SCRIPT>

        (...)

        <textarea name="mathml_txt" id="mathml_txt" cols="75" rows="8"></textarea></div><br>     </td
            ><td align="right" valign="top"
             ><img name="close2" id="close2" src="../../gif/ocd_lightblue.gif"
              border="0" width="15" height="50" alt=""></td
           ></tr
            ><tr
             ><td align="left" valign="top" colspan="3"
              ><img src="../../gif/ocd_lightblue.gif" width="700" height="15" alt=""></td
            ></tr
          ></table

        </td
        </tr
        </table
        </FORM
        </BODY
        </HTML>

        Urps, Hauptverdächtiger: Javascript.
        Sind Dir die schließenden Tag-Klammern nur hier verrutscht oder
        sieht Dein Original-Quelltext genauso aus? Ein Zeilenumbruch
        innherhalb eines Tags mit Tabulator oder Space - das kann (unter
        Umständen) den stärksten Browser umhauen, den NS4 sowieso.

        Viele Grüße

        Helge

        1. Urps, Hauptverdächtiger: Javascript.
          Sind Dir die schließenden Tag-Klammern nur hier verrutscht oder
          sieht Dein Original-Quelltext genauso aus? Ein Zeilenumbruch
          innherhalb eines Tags mit Tabulator oder Space - das kann (unter
          Umständen) den stärksten Browser umhauen, den NS4 sowieso.

          Hi!

          Naja, aber ein Kollege hat gemeint dass dann die Tabellen keine ungewollten Leerzeichen verursachen, was auch funktioniert hat - irgendwie war sonst manchmal ein Leerzeichen dazwischen

          und nu?

          Viele Grüße

          greets back

          Helge

          TOM

          1. Hi!

            Naja, aber ein Kollege hat gemeint dass dann die Tabellen keine ungewollten Leerzeichen verursachen, was auch funktioniert hat - irgendwie war sonst manchmal ein Leerzeichen dazwischen

            Huch? Was? *Kopfkratz* ;-)
            Das mit den 'Leerzeichen' in den Tabellenzellen ist ein Browserproblem,
            das man mit solchen 'schmutzigen Tricks' nun bestimmt nicht 'lösen'
            sollte.
            Du hast Images in den Table-Zellen: Also hinter jedes Bild ein <br>
            gesetzt, und das Problem ist gelöst - immer noch nicht sauber, aber
            immerhin weniger schmutzig :-)

            Probier mal ...

            Wenn der NS4 dann immer noch zusammenklappt, nimm mal versuchsweise
            das Javascript 'raus.

            Viele Grüße

            Helge

            1. ok werd ich probieren - aber eine JavaScript Applikation ohne JAvascript ? *ggg*

              ich werds mal testen!

              thx TOM

              1. Hi

                ok wie gesagt JavaScript ist ein _MUSS_.

                Aber der Navigator schmiert _wegen_ JavaScript ab - gibts noch ne Möglichkeit oder muss der Benutzer eben dann einen anderen Browser benutzen?

                MfG TOM

                1. Hi auch,

                  ok wie gesagt JavaScript ist ein _MUSS_.

                  Aber der Navigator schmiert _wegen_ JavaScript ab - gibts noch ne Möglichkeit oder muss der Benutzer eben dann einen anderen Browser benutzen?

                  also wenn bei euch keiner JavaScript kann bzw. wenigstens etwas (cross-) Browserkenntnisse hat, warum sollte es dann klappen?

                  Grüsse

                  Bert

                  1. Hi

                    also wenn bei euch keiner JavaScript kann bzw. wenigstens etwas (cross-) Browserkenntnisse hat, warum sollte es dann klappen?

                    Sollte ich das verstehen? Ich kann doch JavaScript.... *?*

                    Grüsse

                    Bert

                    TOM

                    1. Re Hi

                      also wenn bei euch keiner JavaScript kann bzw. wenigstens etwas (cross-) Browserkenntnisse hat, warum sollte es dann klappen?

                      Sollte ich das verstehen? Ich kann doch JavaScript.... *?*

                      kriegst du etwa auch noch Kohle dafür oder woher kommt
                      das "Selbstbewusstsein" ?

                      Wenn du es -s.o.- könntest, wäre z.B. auch -ist doch wohl von dir- "Abfrage
                      ob Element Focus hat - geht das auch? Muss doch?" kaum nötig gewesen.

                      Grüsse

                      Bert

                      1. Hi

                        kriegst du etwa auch noch Kohle dafür oder woher kommt
                        das "Selbstbewusstsein" ?

                        Wenn du es -s.o.- könntest, wäre z.B. auch -ist doch wohl von dir- "Abfrage
                        ob Element Focus hat - geht das auch? Muss doch?" kaum nötig gewesen.

                        Sorry - ich bekomme Geld dafür aber niemand kann alles wissen. Noch dazu bin ich (noch) in der Ausbildung.

                        (Und mein Kollege wusste es auch nicht)

                        TOM

                        1. Hi,

                          aber niemand kann alles wissen.

                          klar. Einiges könnte man z.B. aus dem (selfhtml-)Archiv erfahren.

                          Bei dem Script hier "JavaScript bringt NS4.6 zum abstürzen" fällt
                          mir auf, dass mit "if (this.docall && !this.byid)" auf den alten IE
                          Rücksicht genommen wird.
                          Das ist zwar nicht unüblich, aber ohne Berücksichtigung des
                          Netscape 4 (document.layer..) eigentlich etwas unsinnig.
                          Denn der N4 hat eine vielmal höhere Verbreitung als der betr. IE.
                          Nach "getElementById" müsste also erstmal Netscape 4 berücksichtigt
                          werden, bei dem käme aber hier nur "Bitte an den Programmierer
                          wenden!", wenn er nicht vorher am Script scheitern würde.

                          Noch dazu bin ich (noch) in der Ausbildung.

                          Interessant, ist wohl eine betriebliche Ausbildung, wie nennt sich
                          denn der Beruf, und wie lange dauert so etwas?

                          Grüsse

                          Bert

                          1. Hi

                            Bei dem Script hier "JavaScript bringt NS4.6 zum abstürzen" fällt
                            mir auf, dass mit "if (this.docall && !this.byid)" auf den alten IE
                            Rücksicht genommen wird.
                            Das ist zwar nicht unüblich, aber ohne Berücksichtigung des
                            Netscape 4 (document.layer..) eigentlich etwas unsinnig.
                            Denn der N4 hat eine vielmal höhere Verbreitung als der betr. IE.

                            Ja ok - werd ich ändern, war auch irgendwie logisch :-/

                            Interessant, ist wohl eine betriebliche Ausbildung, wie nennt sich
                            denn der Beruf, und wie lange dauert so etwas?

                            Das Teil nennt sich Elektrotechnischer Assistent. 3 Semester Schule, relativ allgemein, wo einem Wissen über Elektrotechnik, Automatisierungstechnik und eben Informatik eingebleit werden...

                            Naja danach bewirbt man sich für ein weiteres Semester für ein Praktikum, wobei man dabei von Siemens weiter bezahlt wird, wie auf der Schule.

                            Auf gut deutsch: Ich hatte 3 Monate Zeit MySQL, PHP, JavaScript, Java, CSS zu beherschen!? Is wohl echt unmöglich - aber ich streng' mich an. (HTML mal aussen vorgelassen, lol)

                            Und das da oben hab ich doch geschrieben ich hab das in SelfHTML nachgelesen und herausgefunden, das es nicht geht. Aber ich dachte mir vielleicht gibt's da doch noch ne Möglichkeit, nen Hint den ich nicht seh'. Dass es mit den Variablen geht hätte ich auch hinbekommen können.

                            Grüsse

                            Bert

                            Greets TOM

  2. Hi Tom,

    Hi ich hab meine Seite mit dem Validator gecheckt - alles ok!
    Aber wenn man die mit dem NN4.6 aufmacht geht er sofort wieder zu - warum das denn??
    Jemand ne Idee?

    Na ja, Du hast das Problem doch schon genannt: NS4.6 ...
    Ob die Seite nun konform ist oder nicht, hat nichts damit zu tun,
    ob der NS4 das auch alles richtig anzeigt oder sich sogar
    zusammenfaltet, eher im Gegenteil ...
    Ich vermute, Du hast CSS benutzt?
    Mit etwas Glück stürzt der NS4.7 nicht (sofort) ab, probier mal
    aus. Ansonsten kannst Du nur den Bowser wechseln (recommended) oder
    die Seite anders gestalten.

    Viele Grüße

    Helge

    1. Hi Helge!

      Also du meinst ohne CSS würde das ganze mit dem Navigator funktionieren?

      Weil dann könnte ich ja nur für den Navigator das css weglassen...

      TOM