2012-04-12 12 views
2

Ich habe ein großes Leistungsproblem in IE6 sogar mit Javascript deaktiviert. Es ist seltsam, weil manchmal, wenn die Seite geladen wird, der Header neben der Fußzeile schwebt, oder die Diashow über dem Inhalt ist.IE6 Leistungsproblem mit Quellcode über 10k Zeilen

Ich frage mich, ob jemand hatte gleiche oder ähnliche Probleme in IE6 und wenn ich einen generierten Quellcode in eine einzeilige minimieren, wird es irgendwie helfen, Lastdrehzahl in diesem Browser zu gewinnen?

-Wollen Sie erwähnen, dass es mit ie6 kompatibel sein sollte, also bitte, schreiben Sie keine Nachrichten wie - verwenden Sie moderne Browser.

Das Problem war in MS PNG-Fixierer in CSS. Selbst wenn ich ein Javascript ausschalte, funktioniert es immer noch. Wenn ich also CSS-Zeilen mit ms-Filter für PNG-Transparenz lösche, fängt es an zu arbeiten, wie es sollte.

Vielen Dank für Ihre Eingaben.

+0

Ich bezweifle Verkleinerungs viel helfen. Sie müssen zu neueren Browsern wechseln. – Oded

+7

Ich will nicht nageln, aber Microsoft hat 2006 eine Lösung für alle IE6-Probleme bereitgestellt. –

+0

[tag: status-by-design] –

Antwort

2

Ich bezweifle, dass das Entfernen von Zeilenumbrüchen die Geschwindigkeit in irgendeiner merklichen Weise erhöhen würde.

Das heißt, sind die Performance-Probleme wahrscheinlich nicht durch Zeilenzahl sondern die Größe/Anzahl/Typ/Kosten der Elemente/Operationen nach das Parsen.

Die tatsächliche lexer, die die Zeilenumbrüche behandelt, sollte sie nicht anders im Stream als jedes andere Zeichen sehen. Je nach genau das, was Kontext „Quelle“ bedeuten Zeilenumbrüche haben eine gewisse Wirkung semantisch am Parser:

  1. CSS: keine (ohne Berücksichtigung von eingebetteten Zeilenumbrüchen)
  2. HTML: möglichen neuen Text-Knoten oder anderen Inhalt
  3. JavaScript: automatische Semikolon Insertion (oder eingebettete Zeilenumbrüche)

Allerdings gibt es keinen Grund, nicht eine minimierte Version schnell zu sehen, um zu versuchen, ob es einen Unterschied und, was noch wichtiger macht, Ihre Neugier zu befriedigen ;-) ich WO Die anderen Vorschläge, wie zum Beispiel das Überprüfen der Seite (alles) auf Gültigkeit, werden auf jeden Fall beachtet.

Glückliche Kodierung.

0

Sie haben nicht angegeben, woraus Ihre Seite besteht, aber ich würde annehmen, dass Sie die Mutter aller HTML-Tabellen ausgeben?

Der Grund, denke ich, ist, weil IE6 bekanntlich extrem langsam beim Rendern großer Tabellen ist, insbesondere wenn die Spaltenbreiten variabel sind. (Spätere IEs sind auch langsam, aber nicht so schlecht wie IE6)

Der Grund ist, dass der Browser versucht, die gesamte Tabelle vor dem Anzeigen von irgendetwas zu rendern, und führt eine Menge Berechnungen durch, um herauszufinden, wie es zu rendern.

Die Antworten auf diese Frage kann Ihnen auch helfen: Are large html tables slow?

+0

danke für die Antwort, ich habe dieses Problem bereits mit Tabellen getroffen, aber die ganze Website ist tableless. Zum Beispiel verwende ich chrome, um Quellcode (STRG + U) anzuzeigen, und es gibt viele Leerzeichen zwischen den einzelnen Zeilen, sodass insgesamt etwa 10 000 Zeilen im Quellcode generiert werden. – aspirinemaga