Mam stronę internetową z ramką iFrame i przyciskiem, po naciśnięciu przycisku potrzebuję odświeżenia ramki iFrame. Czy to możliwe, a jeśli tak, to w jaki sposób? Szukałem i nie znalazłem żadnych odpowiedzi.
javascript
iframe
Elitmiar
źródło
źródło
Odpowiedzi:
źródło
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);
To powinno pomóc:
EDYCJA: Poprawiono nazwę obiektu zgodnie z komentarzem @ Joro.
źródło
reload(true)
document.getElementById('FrameID').contentWindow.location.replace(new_url);
pod warunkiem, że iframe jest ładowany z tej samej domeny, możesz to zrobić, co ma trochę więcej sensu:
źródło
Działa dla IE, Mozzila, Chrome
źródło
Możesz użyć tej prostej metody
źródło
Mam to stąd
źródło
2017:
Jeśli jest w tej samej domenie, po prostu:
będzie działać.
źródło
Oto fragment kodu HTML:
I mój kod Javascript:
źródło
Bezpośrednie resetowanie atrybutu src:
Resetowanie src ze znacznikiem czasu do pomijania pamięci podręcznej:
Wyczyszczenie src, gdy opcja query strings nie jest możliwa (Data URI):
źródło
Jeśli używasz ścieżek z krzyżykiem (takich jak mywebsite.com/#/my/url), które mogą nie odświeżać ramek przy przełączaniu hash:
Niestety, jeśli nie wykorzystasz limitu czasu, JS może spróbować zamienić ramkę, zanim strona zakończy ładowanie treści (w ten sposób ładuje starą zawartość). Nie jestem jeszcze pewien obejścia tego problemu.
źródło
Jeśli na stronie znajduje się wiele elementów iFrame, ten skrypt może być przydatny. Zakładam, że w źródle iFrame istnieje określona wartość, której można użyć do znalezienia określonego elementu iFrame.
Zastąp „/ yourSource” wymaganą wartością.
źródło
Jeśli adres URL elementu iframe nie zmienia się, możesz go po prostu utworzyć ponownie.
Jeśli element iframe nie pochodzi z tego samego źródła (schemat protokołu, nazwa hosta i port), nie będziesz w stanie poznać bieżącego adresu URL w elemencie iframe, więc będziesz potrzebować skryptu w dokumencie iframe do wymiany wiadomości z jego oknem nadrzędnym ( okno strony).
W dokumencie iframe:
Na Twojej stronie:
źródło
Możesz użyć tego:
Js:
HTML:
JS Fiddle: https://jsfiddle.net/wpb20vzx/
źródło