Ich habe eine Webseite mit einem IFrame und einer Schaltfläche. Sobald die Schaltfläche gedrückt wird, muss der IFrame aktualisiert werden. Ist das möglich, wenn ja wie? Ich suchte und konnte keine Antworten finden.
javascript
iframe
Elitmiar
quelle
quelle
Antworten:
quelle
Version 24.0.1312.56 Ubuntu 12.04 (24.0.1312.56-0ubuntu0.12.04.1)
var tmp_src = iframe.src; iframe.src = ''; iframe.src = tmp_src;
document.getElementById('frame_id').contentDocument.location.reload(true);
Dies sollte helfen:
BEARBEITEN: Der Objektname wurde gemäß @ Joros Kommentar korrigiert.
quelle
reload(true)
document.getElementById('FrameID').contentWindow.location.replace(new_url);
Vorausgesetzt, der Iframe wird von derselben Domain geladen, können Sie dies tun, was etwas sinnvoller ist:
quelle
Funktioniert für IE, Mozzila, Chrome
quelle
Sie können diese einfache Methode verwenden
quelle
Habe das von hier
quelle
2017:
Wenn es nur auf derselben Domain ist:
wird funktionieren.
quelle
Hier ist das HTML-Snippet:
Und mein Javascript-Code:
quelle
Das src-Attribut direkt zurücksetzen:
Zurücksetzen des src mit einem Zeitstempel für das Cache-Busting:
Löschen der Option src, wenn die Option Abfragezeichenfolgen nicht möglich ist (Daten-URI):
quelle
Wenn Sie Hash-Pfade verwenden (wie mywebsite.com/#/my/url), die beim Wechseln des Hash möglicherweise keine Frames aktualisieren:
Wenn Sie das Zeitlimit nicht verwenden, versucht JS möglicherweise, den Frame zu ersetzen, bevor die Seite den Inhalt vollständig geladen hat (und somit den alten Inhalt geladen hat). Ich bin mir der Problemumgehung noch nicht sicher.
quelle
Wenn die Seite mehrere iFrames enthält, kann dieses Skript hilfreich sein. Ich gehe davon aus, dass die iFrame-Quelle einen bestimmten Wert enthält, mit dem der bestimmte iFrame gefunden werden kann.
Ersetzen Sie "/ yourSource" durch den gewünschten Wert.
quelle
Wenn sich die URL Ihres Iframes nicht ändert, können Sie sie einfach neu erstellen.
Wenn Ihr Iframe nicht denselben Ursprung hat (Protokollschema, Hostname und Port), können Sie die aktuelle URL im Iframe nicht kennen. Daher benötigen Sie ein Skript im Iframe-Dokument, um Nachrichten mit dem übergeordneten Fenster auszutauschen ( das Fenster der Seite).
Im iframe-Dokument:
Auf Ihrer Seite:
quelle
Sie können dies verwenden:
Js:
Html:
JS Fiddle: https://jsfiddle.net/wpb20vzx/
quelle