tag:forum.selfhtml.org,2005:/self Laufzeitproblem im Browser ??? – SELFHTML-Forum 2005-11-30T16:08:56Z https://forum.selfhtml.org/self/2005/nov/30/laufzeitproblem-im-browser/903911#m903911 Dirk dirk.bauer@mmcomputer.de 2005-11-30T10:30:45Z 2005-11-30T10:30:45Z Laufzeitproblem im Browser ??? <p>Hallo zusammen,</p> <p>Seit einiger Zeit habe ich bei verschiedenen Scripten ein seltsames Verhalten im Browser festgestellt.</p> <p>So führen simple Schleifen, in denen einfache Textoperationen ausgeführt werden dazu, dass der Browser lädt und lädt und ...<br> und am Ende einen TimeOut-Read-Fehler meldet.</p> <p>Hier mal ein konkreter Fall:</p> <p>foreach(@TABELLE)<br>  {<br>   @dummy=split(/\t/,$TABELLE[$zz]);<br>   $eintrag[$zz]="<tr><td width=5% align=center><input type=radio name=manus value='$dummy[0]'></td><td width=45% align=center bgcolor=white>$dummy[0]<font color=red><b>$MANUS_MATCH{$dummy[0]}</font></b></td><td width=45% align=center bgcolor=white>$dummy[1]<font color=red><b>$COP_MATCH{$dummy[1]}</font></b></td><td width=5% align=center><input type=radio name=cop value='$dummy[1]'></td></tr>\n";<br>   $zz++;<br>  }</p> <p>Auch die direkte Ausgabe mit "print" funktioniert nicht.</p> <p>Noch seltsamer: ersetze ich das "foreach" im Kopf der Schleife durch ein "for" funktioniert es, wenn ich die Schleife (in diesem Fall) maximal 7x durchlaufen lasse. ( for($i=0;$i<7;$i++) )</p> <p>Erhöhe ich den "Zähler" rödelt sich der Browser wieder zu Tode.</p> <p>Das Ausführen des Scriptes direkt auf dem Server (SSH) ist überhaupt kein Problem.</p> <p>Und wieder bei anderen Scripten kann ich hunderte von Schleifen ohne Probleme durchlaufen.</p> <p>Hat schon mal jemand sowas beobachtet und an was kann das denn liegen.</p> <p>Viele Grüße aus Dresden<br> Dirk</p> https://forum.selfhtml.org/self/2005/nov/30/laufzeitproblem-im-browser/903913#m903913 Struppi struebig@gmx.net http://javascript.jstruebig.de/ 2005-11-30T10:40:19Z 2005-11-30T10:40:19Z Laufzeitproblem im Browser ??? <blockquote> <p>So führen simple Schleifen, in denen einfache Textoperationen ausgeführt werden dazu, dass der Browser lädt und lädt und ...<br> und am Ende einen TimeOut-Read-Fehler meldet.</p> </blockquote> <p>Da vermute ich eher ein Problem in der HTML Ausgabe.</p> <blockquote> <p>Hier mal ein konkreter Fall:</p> <p>foreach(@TABELLE)<br> {<br>   @dummy=split(/\t/,$TABELLE[$zz]);</p> </blockquote> <p>Du benutzt kei use strict?<br> Außerdem ist diese Konstrukt umständlich<br> foreach(@TABELLE)<br> {<br> my @dummy = split /\t/, $_;</p> <blockquote> <p>$eintrag[$zz]="<tr><td width=5% align=center><input type=radio name=manus value='$dummy[0]'></td><td width=45% align=center bgcolor=white>$dummy[0]<font color=red><b>$MANUS_MATCH{$dummy[0]}</font></b></td><td width=45% align=center bgcolor=white>$dummy[1]<font color=red><b>$COP_MATCH{$dummy[1]}</font></b></td><td width=5% align=center><input type=radio name=cop value='$dummy[1]'></td></tr>\n";<br>   $zz++;</p> </blockquote> <p>Keine Ahnung was  qeintrag ist, aber du wollstest hier eher push verwenden, auch bietet das CGI Modul eine vielfältige Sammlung von Funktionen, um solchen unleserlichen Code zu vermeiden.</p> <blockquote> <p>Noch seltsamer: ersetze ich das "foreach" im Kopf der Schleife durch ein "for" funktioniert es, wenn ich die Schleife (in diesem Fall) maximal 7x durchlaufen lasse. ( for($i=0;$i<7;$i++) )</p> <p>Erhöhe ich den "Zähler" rödelt sich der Browser wieder zu Tode.</p> </blockquote> <p>Wie gesagt hört sich für mich eher nach einem Problem der Ausgabe an, als eines im Skript.</p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> https://forum.selfhtml.org/self/2005/nov/30/laufzeitproblem-im-browser/903912#m903912 opi 2005-11-30T16:08:56Z 2005-11-30T16:08:56Z Laufzeitproblem im Browser ??? <p>Hallo Dirk,</p> <blockquote> <p>foreach(@TABELLE)<br> {<br>   @dummy=split(/\t/,$TABELLE[$zz]);<br>   $eintrag[$zz]="<tr><td width=5% align=center><input type=radio name=manus value='$dummy[0]'></td><td width=45% align=center bgcolor=white>$dummy[0]<font color=red><b>$MANUS_MATCH{$dummy[0]}</font></b></td><td width=45% align=center bgcolor=white>$dummy[1]<font color=red><b>$COP_MATCH{$dummy[1]}</font></b></td><td width=5% align=center><input type=radio name=cop value='$dummy[1]'></td></tr>\n";<br>   $zz++;<br> }</p> </blockquote> <p>1. du solltest grundlegend etwas strukturierter Programmieren. Es ist<br> eine Qual diesen Kauderwelsch zu lesen! Darin einen Fehler zu finden<br> ist ziemlich anstrengend. Das betrifft auch den HTML-Quellcode.</p> <p>2. <a href="http://de.selfhtml.org/html/allgemein/textauszeichnung.htm#attribute" rel="nofollow noopener noreferrer">Attribute</a>: "Obwohl es vom HTML-Standard her zulässig wäre, dass<br> bestimmte Attributwerte auch ohne Anführungszeichen geschrieben<br> werden können, sollten Sie diese Möglichkeit nicht nutzen. Es<br> verringert die Wahrscheinlichkeit von Fehlern..."</p> <p>3. Struktur mit HTML, Design bitte mit CSS. Von CSS ist bei dir<br> nichts zu sehen.</p> <blockquote> <p>Das Ausführen des Scriptes direkt auf dem Server (SSH) ist überhaupt kein Problem.</p> </blockquote> <p>4. was soll SSH damit zu tun haben?</p> <p>5. nun zur Perl:</p> <blockquote> <p>So führen simple Schleifen, in denen einfache Textoperationen ausgeführt werden dazu, dass der Browser lädt und lädt und ...<br> und am Ende einen TimeOut-Read-Fehler meldet.</p> <p>Hier mal ein konkreter Fall:</p> </blockquote> <p>Woher willst du wissen, dass das Skript genau an dieser Stelle<br> hängt? Wenn dein übriger Code genauso schlimm ausschaut, dann kann<br> ein Fehler irgendwo und überall drin stecken.</p> <p>Vielleicht solltest du dich mit Debugging beschäftigen und dein<br> Skript Stück für Stück durchprüfen. Eine Möglichkeit wäre zum<br> Beispiel, erst einmal alle Zeilen auszukommentieren und dann Stück<br> für Stück wieder einkommentieren, bis du auf den Time-Out läufst.<br> Dabei solltest du natürlich nicht vergessen, den HTML-Header<br> auszugeben.</p> <p>Es gibt soviele Arten von Debugging und jeder hat da so seine<br> Methoden. Aber bevor du damit anfängst, wäre es ratsam, dein Skript<br> es besser zu strukturieren. Auch den HTML-Code.</p> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div>