Ich habe eine Seite, die ca. 300 Seiten Tabellendaten anzeigt. Firefox, Chrome, Safari funktionieren alle gut, aber IE 7, 8 und 8 Compatibility view all wrech. Es dauert einige Sekunden, wenn ich versuche, einen Bildlauf durchzuführen oder die Seite nach oben/unten zu drücken.Was kann getan werden, um die IE8-Leistung für große Datenmengen zu verbessern?
Seitenumbruch, kleinere Datensätze und andere Vorschläge zur Benutzerfreundlichkeit funktionieren auf dieser Seite nicht. Angenommen, ich habe absolut keine andere Wahl, als all diese Daten auf einmal anzuzeigen ... Was kann ich tun, um es zu optimieren?
Die Daten werden über jQuery/Ajax geladen und das scheint zumindest teilweise hier verdächtig zu sein, denn wenn ich eine Testseite zum Rendern der Ergebnisse erstellt habe, ist es nicht langsam, aber immer noch nicht fast so bissig wie andere Browser.
Ich habe erfolgreich jQuery Plugins wie SlickGrid verwendet, um ähnliche Probleme in der Vergangenheit anzugehen, aber aus Gründen, die eine lange Zeit zu erklären, sie sind keine Option, auch mit den Micro Template Rendering-Funktionen. Ich bin hauptsächlich daran interessiert, welche Verbesserungen ich vornehmen kann, um die Leistung zu verbessern, ohne die gesamte Seite zu überarbeiten oder Lösungen von Drittanbietern einzuführen.
Wird ein vereinfachtes DOM einen großen Unterschied machen? Oder behandelt IE keine Daten, die über JavaScript/Ajax bereitgestellt werden?
ich stark vermuten (basierend auf viel Erfahrung mit großen Seiten in IE), dass es mehr mit IE grundlegende Fähigkeit zu tun, einen großen zu handhaben DOM, und nicht viel mit dem dynamisch aktualisierten DOM zu tun. Eine Sache, die eine große Wirkung hat, ist Ihr CSS. Wenn Sie viele CSS-Selektoren "Container" haben, habe ich gesehen, dass IE ziemlich viel langsamer (obwohl das war IE6, und IE8 ist viel besser). – Pointy
Sie müssen auch darüber nachdenken, ob der IE (oder ein anderer Webbrowser) für 300 Seiten Daten ausgelegt ist! –
Ich habe die URL nicht mehr (es tut mir leid, es ist eine Weile her). Ich denke, ich erinnere mich, etwas gelesen zu haben, dass IE6 (vielleicht auch 7) einfach einmal abstürzte, wenn so viele Zeilen in einer Tabelle geladen worden waren und/oder Speicher ausgelaufen waren. Wenn Sie es auf einer einzelnen Seite laden müssen, was denken Sie über etwas Ähnliches wie Google Reader? Lade die ersten 50 oder so, und dann, wenn der Benutzer runterscrollt, würde es die nächsten 50 laden, oder so? Auf diese Weise machst du nicht eine Menge Arbeit auf einmal, aber es funktioniert immer noch wie du willst ... – Justin