IE 6.0 schaufelt Speicher voll
Mike
- browser
Moin @ all,
ganz grob die Funktion des Programms:
Es wird ein Auswahlliste, in Form einer Tabelle, erzeugt. Diese Tabelle kann bis zu 1200 Zeilen haben. Man wählt aus der Tabelle einen Link, bearbeitet irgendwas und kommt wieder zur Tabelle zurück.
Nun das Problem. Jedes mal, wenn die Tabelle wieder angezeigt wird,
erhöht sich die Speicherzuweisung ( IEXPLORER.EXE im Taskmanager )
Wenn dann 50.000 K erreicht sind, hängt sich der Browser auf.
Im Script habe ich angegeben, das der Inhalt nicht gecacht werden soll:
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="author" content="Mike Roth / DHL - IT">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META http-equiv="expires" content="0">
Woran könnte dieses Verhalten liegen und was kann ich dagegen unternehmen?
Der IE ist hier, in der Firma, Standardbrowser, also bitte nicht auf andere Browser verweisen.
Danke & Gruß
Mike
Hallo,
wie wird die Tabelle erzeugt ? Serverseitig oder via Javascript beim Client ? Wenn Letzteres der Fall ist, wird wohl das entsprechende Script nicht sauber programmiert sein.
Gruß,
Stefan
Moin Stefan,
wie wird die Tabelle erzeugt ? Serverseitig oder via Javascript beim Client ? Wenn Letzteres der Fall ist, wird wohl das entsprechende Script nicht sauber programmiert sein.
die Tabelle wird mit PHP erzeugt, also Serverseitig.
Gruß
Mike
Hallo Mike,
hm... mir fällt da nicht soviel zu ein. Teste doch mal, ob das auch passiert, wenn du nur 200 oder 600 Datensätze anzeigst. Prinzipiell müßte das dann ja auch der Fall sein, nur etwas länger dauern.
Oder teste mal ein ähnliches Szenario außerhalb des benutzten Systems... wenn Du eine sehr große HTML-Datei erstellst und wiederholt aufrufst, müßte das ja auch passieren.
Wenn das der Fall ist, hättest Du einen recht merkwürdigen IE-Bug gefunden... oder die Fehlerquelle könnte vielleicht auch in anderen installierten Tools zu finden sein (Virenscanner oder ähnliches) ?
Dann: Du kannst das Caching Verhalten des IE auch über die PHP-Direktive "header" beeinflussen... header("Cache-control: private"); <- schau mal ins PHP-Handbuch...
Und schließlich: macht es Sinn 1200 Datensätze auszuliefern ? Das kann doch an und für sich kein Mensch mehr überblicken, und ein oder zwei Klicks mehr dürften da auch zeit-technisch angenehmer sein, oder ?
Gruß,
Stefan
Moin Stefan,
Wenn das der Fall ist, hättest Du einen recht merkwürdigen IE-Bug gefunden... oder die Fehlerquelle könnte vielleicht auch in anderen installierten Tools zu finden sein (Virenscanner oder ähnliches) ?
ich habe das nochmal durch getestet. Es scheint an diesem einen PC zu liegen. Dieser PC benötigt 48.000 K wenn die Page ausgeliefert,
ein anderer PC benötigt nur 23.000 K
Dann: Du kannst das Caching Verhalten des IE auch über die PHP-Direktive "header" beeinflussen... header("Cache-control: private"); <- schau mal ins PHP-Handbuch...
Danke für den Tip.
Und schließlich: macht es Sinn 1200 Datensätze auszuliefern ? Das kann doch an und für sich kein Mensch mehr überblicken, und ein oder zwei Klicks mehr dürften da auch zeit-technisch angenehmer sein, oder ?
Es werden auch nur die jeweils TOP 50 angezeigt. Allerdings kommt es vor, dass der User die ganze Liste sehen muss, um sich gezielt etwas heraus zu suchen.
Gruß
Mike
Hallo Mike,
Im Script habe ich angegeben, das der Inhalt nicht gecacht werden soll:
Darf man fragen warum? Denn so muss natuerlich jedes mal die ganze Tabelle neu vom Server geladen werden. Und der RAM-Cache des Browsers waechst. Ich kann mir zwar die Anwendung nicht so richtig vorstellen, aber so wie du es schilderst, klingt das fuer mich durchaus mal fuer eine sinnvolle Anwendungsmoeglichkeit fuer Frames: links die Tabelle, rechts das, was durch die Tabellenlinks ausgewaehlt wurde. Dann kann im rechten Fenster auch "bearbeitet" werden was immer zu tun ist, und die Tabelle bleibt trotzdem stets verfuegbar und muss nicht immer neu geladen werden.
viele Gruesse
Stefan Muenz
Moin Stefan,
Darf man fragen warum? Denn so muss natuerlich jedes mal die ganze Tabelle neu vom Server geladen werden. Und der RAM-Cache des Browsers waechst. Ich kann mir zwar die Anwendung nicht so richtig vorstellen, aber so wie du es schilderst, klingt das fuer mich durchaus mal fuer eine sinnvolle Anwendungsmoeglichkeit fuer Frames: links die Tabelle, rechts das, was durch die Tabellenlinks ausgewaehlt wurde. Dann kann im rechten Fenster auch "bearbeitet" werden was immer zu tun ist, und die Tabelle bleibt trotzdem stets verfuegbar und muss nicht immer neu geladen werden.
die Tabelle wird mit PHP dynamisch aus einer Datenbank befüllt. Daher sieht sie immer anders aus. Macht es dann Sinn zu cachen?
Der Inhalt der Tabelle ist sehr groß und benötigt den ganzen Bildschirm, ebenso der nachfolgende Screen, in welchem die Daten bearbeitet werden.
Ich brauche also den ganzen Bilschirmplatz und kann daher keine Frames einsetzen. Im übrigen werden im Normalfall nur die ersten 50
Datensätze angezeigt. Man kann sich aber auch alle Datensätze anzeigen lassen, und werden das schon mal 1200.
Gruß
Mike
Sup!
Berichten Sie doch dem hilfreichen Support des Marktführers für professionelle Business- und Office-Software, Microsoft, von Ihrem Problem, oder wenden Sie Sich direkt an die Entwickler:
http://channel9.msdn.com/wiki/default.aspx
Vielleicht hilft das... benutzen Sie auch die neueste Windows-XP-Version mit allen Patches?
Gruesse,
Bio
---
Vor dem Frühstück bin ich unerträglich