AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [JS]Bilder aktualisieren ohne Speicherproblem
Thema durchsuchen
Ansicht
Themen-Optionen

[JS]Bilder aktualisieren ohne Speicherproblem

Ein Thema von rollstuhlfahrer · begonnen am 17. Jan 2011 · letzter Beitrag vom 18. Jan 2011
Antwort Antwort
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

[JS]Bilder aktualisieren ohne Speicherproblem

  Alt 17. Jan 2011, 21:14
HI @all,

ich möchte in einer Webseite ein Bild immer wieder neu laden. Eine Voraussetzung ist, dass die Webseite möglichst lange angezeigt werden kann (also wenn der Browser 100% vom RAM belegt hat ist Ende). Dazu benutze ich ein JS-Snippet, welches im Internet relativ häufig als Vorschlag gefunden werden kann. Bei mir sieht das dann so aus:
Code:
  source = document.getElementByID("meinBild").src;
  limiter = source.indexOf("?");

  if (limiter != -1) {
    source = source.substr(0, limiter);
  }

  source = source + "?" + (new Date()).getTime();

  document.getElementByID("meinBild").src = source;
Was der Schnipsel macht, dürfte klar sein. Altes Bild auslesen, Zeitstempel aktualisieren und als neues Bild ausgeben. Nun soll das Bild alle 1 Sekunde aktualisiert werden. Das ist ein Problem, denn das alte Bild bleibt weiterhin im Speicher und das neue kommt gleich noch mit dazu.

Um das zu verhindern hatte ich mein Bild (zur Zeit generiert von PHP) mit ein paar zusätzlichen Headern bestückt:
PHP-Quellcode:
  header("Content-Type: image/jpeg");
  header("Cache-Control: no-store, no-cache, must-revalidate");
  header("Cache-Control: post-check=0, pre-check=0", false);
Nur leider hilft das nicht weiter. Die Bilder werden immer noch vom Browser mitgecacht und belegen weiterhin Speicher. Dieses Phänomen tritt nicht nur bei Firefox auf, sondern auf bei Google Chrome. Somit muss es am Javascript liegen.

Wie bekomme ich jetzt das alte Bild aus dem Speicher?

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: [JS]Bilder aktualisieren ohne Speicherproblem

  Alt 17. Jan 2011, 23:04
Das Caching ist eine Browser-Sache und hat weniger mit JS zu tun. Ich denke auch nicht, dass ein Browser die vorher angezeigten Bilder vergessen will, allein schon aus Gründen der Performance.

Warum genau willst du denn ein Bild alle x Sekunden aktualisieren? Vielleicht lässt sich hier ein anderer Ansatz finden, der nicht das genannte Problem beinhaltet.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: [JS]Bilder aktualisieren ohne Speicherproblem

  Alt 18. Jan 2011, 14:59
Dort soll ein Bild einer Webcam angezeigt werden. Das Bild kommt von der Webcam und wird auf dem Server gespeichert. Jetzt soll der Client das nur noch abholen. Die verkürzten Zeiträume sind extra so gewählt, dass man nicht mindestens 15 Minuten warten muss, bis etwas passiert (speichermäßig). Zur Zeit habe ich ein ganz einfaches PHP-Skript angewiesen, auf einem schwarzen Hintergrund eine Zahl anzuzeigen, die die Anzahl der Bildaufrufe wiedergibt.

Bei meiner Recherche im Internet habe ich noch die Möglichkeit gefunden, das ganze mittels eines IFrames zu lösen. Das werde ich dann mal versuchen. Hauptsache, der Browser speichert das alte Bild nicht unendlich lange mit.

Bernhard

ADD: Ich habe das ganze jetzt mit einem IFrame gelöst. Das IFrame lädt das Bild und lässt sich wunderbar per JS aktualisieren.
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (18. Jan 2011 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: [JS]Bilder aktualisieren ohne Speicherproblem

  Alt 18. Jan 2011, 16:38
IFrames wären wahrlich nicht meine nächste Wahl gewesen dann würde ich da doch lieber Flash nutzen und dafür schnell was schreiben.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#5

AW: [JS]Bilder aktualisieren ohne Speicherproblem

  Alt 18. Jan 2011, 16:42
Nun ja, Flash geht bei mir weniger, weil ich nicht das Geld habe, mir Flex Builder zu besorgen. Außerdem sind meine Flash-Kenntnisse aüßerst dürftig. Ich würde das so auf die Schnelle überhaupt nicht hinbekommen.

Adobe Flex Builder Standard kostet ja nur 208€ und die Premium-Variante nur 600€.
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (18. Jan 2011 um 16:48 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz