Diğer tüm önerileri denediyseniz ve bunların hiçbirini çalıştıramadım (yapamadığım gibi), burada deneyebileceğiniz faydalı olabilecek bir şey var.
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);
});
Başlangıçta RWD ve tarayıcılar arası testlerle biraz zaman kazanmaya çalıştım. İstediğim gibi göstereceğim / gizleyeceğim gruplar halinde düzenlenmiş bir grup iframe barındıran hızlı bir sayfa oluşturmak istedim. Mantıksal olarak, herhangi bir kareyi kolayca ve hızlı bir şekilde yenilemek istersiniz.
Şu anda üzerinde çalıştığım projenin, bu test yatağında kullanılan projenin, dizine eklenmiş konumlara sahip tek sayfalık bir site olduğunu belirtmeliyim (örn. İndex.html # home). Bunun, belirli çerçevemi yenilemek için neden diğer çözümlerden hiçbirini alamadığımla ilgili bir şey olmuş olabilir.
Bunu söyledikten sonra, bunun dünyadaki en temiz şey olmadığını biliyorum, ama benim amacım için çalışıyor. Umarım bu birine yardımcı olur. Şimdi, iframe'in içinde her animasyon olduğunda iframe'in üst sayfayı kaydırmasını nasıl engelleyeceğimizi anlayabilirsem ...
EDIT:
Bunun olacağını umduğum gibi iframe "yenileme" olmadığını fark ettim. Bununla birlikte, iframe'in başlangıç kaynağını yeniden yükleyecektir. Neden diğer seçeneklerden hiçbirini işe alamadığımı hala anlayamıyorum ..
GÜNCELLEME:
Çalışmak için diğer yöntemlerden hiçbirini alamamamın nedeni, bunları Chrome'da test ediyor olmamdı ve Chrome, bir iframe'in içeriğine erişmenize izin vermiyor (Açıklama: Chrome'un gelecekteki Chrome içeriklerinin desteklenmesinin olası olması Windows / contentDocument , aynı yerden kaynaklanmıyorsa (anladığım kadarıyla) yerel bir html dosyasını yerel html dosyasından yüklediğinde? ). Daha fazla test yapıldıktan sonra, FF'deki contentWindow'a da erişemiyorum.
DEĞİŞTİRİLMİŞ JS
$('.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
Özelliğin kendisine ayarlanmasının temiz olmamasının bir nedeni var mı ? Tarayıcılar ve alanlar arasında çalışan tek çözüm gibi görünüyor