tag:forum.selfhtml.org,2005:/selfLaufzeitproblem im Browser ??? – SELFHTML-Forum2005-11-30T16:08:56Zhttps://forum.selfhtml.org/self/2005/nov/30/laufzeitproblem-im-browser/903911#m903911Dirkdirk.bauer@mmcomputer.de2005-11-30T10:30:45Z2005-11-30T10:30:45ZLaufzeitproblem 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#m903913Struppistruebig@gmx.nethttp://javascript.jstruebig.de/2005-11-30T10:40:19Z2005-11-30T10:40:19ZLaufzeitproblem 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#m903912opi2005-11-30T16:08:56Z2005-11-30T16:08:56ZLaufzeitproblem 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>