Als ASP-Programmierer werden Sie nicht daran zweifeln, wie wichtig es ist, die Leistung Ihrer Webanwendungen zu verbessern. Um die Ausführung Ihres Programms zu beschleunigen, waren Sie möglicherweise damit beschäftigt, die Datenbank oder COM-Komponente zu optimieren. Wenn Sie dies alles getan haben, haben Sie dann jemals darüber nachgedacht, die Leistung zu verbessern, indem Sie die Anzeigegeschwindigkeit des endgültig generierten HTML-Codes im Browser beschleunigen? Wenn die Seite schneller angezeigt werden kann, gewinnen Sie beim Endbenutzer mehr Lob.
Die Geschwindigkeit, mit der HTML in Ihrem Browser angezeigt wird, kann durch einige wenig bekannte Techniken verbessert werden.
1. Tabellenverschachtelung verwenden?
Die Etablierung komplexer Strukturen auf der Seite erfolgt im Allgemeinen durch die Platzierung von HTML-Tabellen auf der Seite. Wenn Sie eine Seite wie diese erstellen möchten: Diese Seite verfügt über eine obere Navigationsleiste, eine linke Navigationsleiste und einen rechten Inhaltsbereich. Sie können dies mithilfe einer großen Tabelle mit zwei Zeilen und zwei Spalten erstellen. Führen Sie in der ersten Zeile die beiden Spalten zusammen und fügen Sie eine obere Navigationsleiste ein. Fügen Sie in der linken Spalte der zweiten Zeile eine Tabelle ein, um die Navigationsschaltflächen anzuzeigen. Platzieren Sie in der rechten Spalte eine Tabelle, um den tatsächlichen Inhalt anzuzeigen. (Siehe Abbildung 1) Der von einer solchen verschachtelten Tabelle generierte Code lautet wie folgt:
<TABLE BORDER="0">
<TR>
<TD COLSPAN="2"><!-- Inhalt für die obere Navigationsleiste --></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- Inhalt für die linke Navigationsleiste --></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- Inhalt für den Hauptteil der Seite --></TD>
</TR>
</TABLE>
Wenn der Browser jedoch das <TABLE>-Tag findet, zeigt er die Seite nicht sofort auf dem Bildschirm an, es sei denn, er findet das entsprechende schließende Tag </TABLE>. Wenn sich Ihre gesamte Seite in einer Tabelle befindet, wird daher nichts angezeigt, bis die letzte </TABLE> empfangen wird. Auf diese Weise ist die Seite für den Benutzer erst sichtbar, wenn die gesamte Datei heruntergeladen wurde. Wenn die Menge der Seitendaten relativ groß ist (z. B. Suchergebnisse in Suchmaschinen), führt diese Funktion zu vorübergehenden Pausen. Um diese Situation zu verhindern, kann die Seite bei der Produktion in viele kleine Tabellen aufgeteilt werden. Wenn der HTML-Code von jedem <TABLE> zum entsprechenden </TABLE> heruntergeladen wird, zeigt ihn der Browser an. Aus der Sicht des Besuchers erscheint die Seite nach und nach, Stück für Stück, immer mehr erscheinen auf dem Bildschirm. Es fühlt sich an, als ob die Anzeigegeschwindigkeit einer solchen Seite schneller ist, als wenn man die gesamte Datei herunterlädt und erneut anzeigt.
Nach diesem Prinzip sollte zur Untersuchung des vorherigen Beispiels die gesamte große Tabelle auf der Seite in drei separate Tabellen unterteilt werden. Verwenden Sie die erste Tabelle, um die obere Navigationsleiste anzuzeigen, passen Sie ihre Breite so an, dass sie groß genug ist, um den gesamten Inhalt aufzunehmen, und vervollständigen Sie sie in einem <TABLE></TABLE>-Block. In der unteren Hälfte der Seite ist die zweite Tabelle von links aufgereiht. Verwenden Sie eine dritte Tabelle, um den eigentlichen Inhalt aufzunehmen. (Siehe Abbildung 2) Da es sich bei jedem Teil um eine vollständige Tabelle handelt, wird jeder Teil des Codes sofort nach dem Herunterladen angezeigt. Auf diese Weise heben sich die obere und linke Navigationsleiste stärker vom Rest der Seite ab. Der Benutzer kann sich vorstellen, dass die Seite zu diesem Zeitpunkt heruntergeladen wird und bald auf dem Bildschirm angezeigt wird. Dies ist viel besser, als den Benutzer über einen längeren Zeitraum vor einem leeren Bildschirm stehen zu lassen.
Der geänderte Code lautet wie folgt:
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="CENTER" VALIGN="TOP"><!-- Inhalt für die obere Navigationsleiste --></TD>
</TR>
</TABLE>
<TABLE BORDER="0" ALIGN="LEFT">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- Inhalt für die linke Navigationsleiste --></TD>
</TR>
</TABLE>
<TABLE BORDER="0">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- Inhalt für Seitentext --></TD>
</TR>
</TABLE>
2. Denken Sie auch daran, andere Tags zu schließen.
Im obigen Beispiel können wir die Anzeige der Seite im Browser beschleunigen, indem wir einfach das Tag <TABLE> früher schließen. Analog dazu gibt es einige ähnliche Tags, die die gleichen Eigenschaften haben.
Generieren Sie beispielsweise <OPTION>-Tags für Listenfelder und Kombinationsfelder und <LI>-Tags für Listenelemente. Normalerweise greifen ASP-Programmierer auf die Datenbank zu und senden Daten in das über <OPTION> erstellte Listenfeld oder Kombinationsfeld. Zu diesem Zeitpunkt wird ein schließendes <OPTION>-Tag in den Code geschrieben. Eine solche einfache Änderung kann auch dazu führen, dass die Seite schneller angezeigt wird im Browser.
Verwenden Sie keinen Code wie diesen:
Do while not objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") &_""">"& _objRS("ProductName")
objRS.MoveNext
Loop
Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
So verwenden Sie Code wie diesen:
Tun Sie dies, während nicht objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") & _ """>" & objRS("ProductName") & "</OPTION>"
objRS.MoveNext
Schleifenantwort.Write
"<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
Verwenden Sie keinen Code wie diesen:
<UL>
<LI>Äpfel
<LI>Orangen
<LI>Bananen
</UL>
Verwenden Sie Code wie diesen:
<UL>
<LI>Äpfel</LI>
<LI>Orangen</LI>
<LI>Bananen</LI>
</UL>
Sehen Sie sich jetzt an: Wird Ihre Seite im Browser schneller angezeigt?
Bitte unterschätzen Sie nicht die Bedeutung dieser Änderungen für die Verbesserung der Leistung von ASP-Anwendungen. Möglicherweise wird in den „Tipps und Tipps“-Büchern oder Online-Materialien, die Sie finden können, selten von der Optimierung von HTML-Code gesprochen, um die Ausführung Ihres Programms zu beschleunigen. Allerdings kann die praktische Anwendung dieser Technologien die Programmleistung tatsächlich erheblich verbessern.