1.2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von kicia Mitglied (939 Punkte)
Hallo,

ich habe eine HTA datei, die Bilder anzeigt.

Wenn ich ein Bild, das darin schon einmal geladen war, nachträglich (extern) in der Größe verändere, wird zwar das veränderte Bild aber in der vorherigen Größe angezeigt.

Weiss jemand, wie ich das Bild in der tatsächlichen Größe anzeigen kann, bzw. wo die alte größe abgespeichert wird (so dass man sie dort löschen kann) ?

Den Internet-Explorer cache habe ich gelöscht, sowie auch alle Temporären Internet dateien.

Test-Datei:

<html><head>
<title>test</title>
<HTA:APPLICATION ID="test" APPLICATIONNAME="test"/>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">

<script type="text/javascript">
window.onload = function() {
var elm = document.getElementById('d');
var img = document.createElement('img');
img.src = 'test.JPG';
img.alt = img.title = img.height + '/' + img.width + '|' + img.src;
elm.appendChild( img );
}
</script>
</head>

<body>
<div id="d"></div>
</body>
<!-- another head section, to deal with IE 64K buffer problem -->
<head>
<meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="-1">
</head>

(die meta http-equiv zeilen scheinen keine Rolle zu spielen, ich habe sie eingefügt, um zu zeigen, dass ich das versucht habe)

Mein Test Ablauf:
- mit Corel Photopaint ein test.JPG erstellen
- HTA datei starten
- test.JPG mit Corel Photopaint in der Größe ändern
- HTA datei aktualisieren

2 Antworten

0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
Nachtrag:
um etwas preziser zu sein, gelöscht habe ich die Dateien in
C:\Dokumente und Einstellungen\(name)\Lokale Einstellungen\Temporary Internet Files,

sowie im InternetExplorer:
Extras / Internetoptionen / Allgemein / Browserverlauf / Löschen, dort
Temporäre Internetdateien, Verlauf, Cookies, InPrivate-Filterungsdaten,
und "Bevorzugte Websitedaten behalten" ausgeschaltet.
0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
Ich habe auf jswelt.de den Tip bekommen, die URL bei jedem Aufruf zu verändern:
forum.jswelt.de/javascript/58066-bildgr-e-hta-cache-l-schen.html

Mit dieser Änderung funktioniert es:
img.src = 'test.JPG' + '?' + (+(new Date()))

Meine Frage ist damit zwar nicht beantwortet (wie lösche ich die gespeicherten Bildgrößen), aber ich kann mit der Lösung arbeiten.

( Nochmal um das klarzustellen: Das veränderte Bild wird angezeigt, es wird aber in der Größe des vorherigen Bildes angezeigt.)

Ich weiss übrigens gar nicht, ob mshta.exe im Prinzip genau das selbe ist wie der Internet-Explorer, oder irgendwie davon getrennt ist.
...