IE zeigt nicht aktualisiert IMG SRC änderung erfolgt in Javascript
PROBLEM: der Internet Explorer version 7 und 8 nicht angezeigt wird, aktualisiert IMG SRC änderung erfolgt in JavaScript
Können Sie sehen, was ich meine, wenn du gehen Sie auf die URL unten, und auf der linken Seite unter (3) ich möchte einen anderen liner, wählen Sie eines der Farbfelder; können sagen, Sie wählen Sie "Asahi Chartreuse". Beachten Sie, geschieht nichts, um die Vorschau auf der linken Seite. ABER dann, wenn Sie voran gehen und wählen Sie ein anderes Farbfeld, sehen Sie die Vorschau auf die linke Umschalttaste, um zu zeigen, Asahi-Chartreuse. So ist es eine hinter. Dies ist der Grund, warum ich glaube, es ist eine "refresh" - Problem. Es funktioniert in Chrome Prima.
Im IE: Beachten Sie, wenn Sie klicken Sie auf einige andere Steuern, die refresh passiert.
Sehen Sie den code hier: https://www.casemodo.com/test.asp
WAS ICH BISHER AUSPROBIERT HABE:
Ich habe versucht, hinzufügen von Kopfzeilen zu sagen, "no-cache".
Ich habe versucht, hinzufügen von "?" und eine Zufallszahl, die nach der png-Datei Namen.
Ich habe versucht die Einstellung von Fokus (), um das Bild nach dem ändern des src.
Ich habe versucht, nach dem ändern SRK, erzählt die Stil.display versteckt werden und dann sichtbar.
Habe ich versucht, die Schaffung eines versteckten (und nicht versteckten) text-Eingabe-box auf der Seite und dann die Einstellung von Fokus (), um es nach der änderung img-src.
Ich habe versucht Einstellung-Fenster.focus().
Habe ich versucht, (wie Sie jetzt sehen) festlegen einer Warnung nach dem ändern des src.
DENKE: wie es aussieht ist jetzt die JavaScript-engine nur pausiert, nachdem ich festgelegt, dass src-BIS Sie klicken Sie auf manuell (Fokus -) irgendwo auf dem Bildschirm. So ist es auch nie die scripts, die ich habe versucht vor.
- Bitte zeigen Sie uns Ihren code (html+js)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie das src-Attribut auf null, dann legen Sie es auf Ihre neue url:
in jquery:
in geraden js:
Dieser arbeitete für mich - es wurde driving me mad!
Versuchen, onclick statt onchange. Letzteres funktioniert nicht gut mit einigen Formular-Elemente, die in einigen Browsern.
Ich habe gesehen, ähnlich IE Probleme gelöst, die mit einer scheinbar bizarren Umwidmung von innerHTML. Angenommen, "container" ist eine variable, die Verweise auf das parentNode der img. Versuchen " - container.innerHTML = container.innerHTML". Dies löst eine re-rendering und Mai bringen die fehlgeleiteten img zu Leben.
Kommentare auf die Frage:
(Klingt wie doch-noch-IE-image-src-Fehler.)
wie ich Schreibe dies, indem Sie auf ein Farbfeld, um die Ursachen reichen die Ursachen, die Last von einer anderen Seite.
Einen Vorschlag:
Verwenden
setTimeout
, so dass die eigentliche Veränderung tritt auf, wenn das timeout-Ereignis ausgelöst, statt wie in der original-GUI-event-thread.Zum Beispiel, wenn die ursprüngliche javascript-war
ändern
(wo
image.src = newURL;
erfolgt innerhalbSomeFunction
)Diese Frage ist wohl nicht mehr relevant, aber wir liefen in das gleiche Problem heute, wenn wir überprüft, die Abwärtskompatibilität für eine unserer Bibliotheken.
Die einzige Sache, die für uns gearbeitet wurde, ersetzen Sie das Bild-element, indem Sie sich vor dem ändern Sie den Wert für die
src
Attribut:Arbeitete ich mit einer Lazy Loading Implementierung, und habe ein ähnliches problem. Für einige Grund, Sie nach dem ändern der Daten-srcset Attribute srcset im code, auch mit den anderen Ansätzen, die auf dieser Seite beschrieben, werden die Elemente immer noch nicht scheinen, um die neuen Attribute-Werte. Nach einigen Recherchen kam ich zu dieser Seite auf github, über ein bug-fix auf ein lazy loading plugin. Es gab mir die Idee, statt der Verwendung der replace-option hier beschrieben, oder die
your_element.src=null
Ansatz, um so etwas wie dieses:Und es endete für mich zu arbeiten.