Jika Anda mencoba semua saran lainnya, dan tidak dapat menjalankannya (seperti saya tidak bisa), berikut adalah sesuatu yang dapat Anda coba yang mungkin berguna.
HTML
<a class="refresh-this-frame" rel="#iframe-id-0">Refresh</a>
<iframe src="" id="iframe-id-0"></iframe>
JS
$('.refresh-this-frame').click(function() {
var thisIframe = $(this).attr('rel');
var currentState = $(thisIframe).attr('src');
function removeSrc() {
$(thisIframe).attr('src', '');
}
setTimeout (removeSrc, 100);
function replaceSrc() {
$(thisIframe).attr('src', currentState);
}
setTimeout (replaceSrc, 200);
});
Awalnya saya mulai mencoba dan menghemat waktu dengan pengujian RWD dan lintas-browser. Saya ingin membuat halaman cepat yang menampung sekelompok iframe, diorganisasikan ke dalam grup yang akan saya tampilkan / sembunyikan sesuka hati. Secara logis Anda ingin dapat dengan mudah dan cepat menyegarkan setiap frame yang diberikan.
Saya harus mencatat bahwa proyek yang saya kerjakan saat ini, yang digunakan dalam test-bed ini, adalah situs satu halaman dengan lokasi yang diindeks (mis. Index.html # home). Itu mungkin ada hubungannya dengan mengapa saya tidak bisa mendapatkan solusi lain untuk menyegarkan kerangka khusus saya.
Karena itu, saya tahu itu bukan hal terbersih di dunia, tetapi itu bekerja untuk tujuan saya. Semoga ini bisa membantu seseorang. Sekarang seandainya saya bisa mencari cara untuk menjaga iframe dari menggulir halaman induk setiap kali ada animasi di dalam iframe ...
EDIT:
Saya menyadari bahwa ini tidak "menyegarkan" iframe seperti yang saya harapkan. Ini akan memuat ulang sumber awal iframe. Masih tidak tahu mengapa saya tidak bisa mendapatkan opsi lain untuk bekerja ..
UPDATE:
Alasan saya tidak bisa mendapatkan salah satu metode lain untuk bekerja adalah karena saya sedang menguji mereka di Chrome, dan Chrome tidak akan memungkinkan Anda untuk mengakses konten iframe (Penjelasan: Apakah mungkin rilis konten dukungan Chrome di masa depan di Windows / contentDocument ketika iFrame memuat file html lokal dari file html lokal? ) jika tidak berasal dari lokasi yang sama (sejauh yang saya mengerti). Setelah pengujian lebih lanjut, saya juga tidak dapat mengakses contentWindow di FF.
JS yang diubah
$('.refresh-this-frame').click(function() {
var targetID = $(this).attr('rel');
var targetSrc = $(targetID).attr('src');
var cleanID = targetID.replace("#","");
var chromeTest = ( navigator.userAgent.match(/Chrome/g) ? true : false );
var FFTest = ( navigator.userAgent.match(/Firefox/g) ? true : false );
if (chromeTest == true) {
function removeSrc() {
$(targetID).attr('src', '');
}
setTimeout (removeSrc, 100);
function replaceSrc() {
$(targetID).attr('src', targetSrc);
}
setTimeout (replaceSrc, 200);
}
if (FFTest == true) {
function removeSrc() {
$(targetID).attr('src', '');
}
setTimeout (removeSrc, 100);
function replaceSrc() {
$(targetID).attr('src', targetSrc);
}
setTimeout (replaceSrc, 200);
}
if (chromeTest == false && FFTest == false) {
var targetLoc = (document.getElementById(cleanID).contentWindow.location).toString();
function removeSrc() {
$(targetID).attr('src', '');
}
setTimeout (removeSrc, 100);
function replaceSrc2() {
$(targetID).attr('src', targetLoc);
}
setTimeout (replaceSrc2, 200);
}
});
src
atribut ke dirinya sendiri tidak bersih? Tampaknya menjadi satu-satunya solusi yang berfungsi di seluruh browser dan di seluruh domain