#php #javascript #iframe #refresh
#php #javascript #iframe #обновить
Вопрос:
У меня есть страница php, на которой есть несколько iframes на странице.
эти фреймы содержат кнопку, если хотите. Когда кто-то нажимает на «кнопку», я запускаю javascript, чтобы обновить другой фрейм на странице с id = xxx, это работает нормально. проблема в том, что я хочу иметь возможность обновлять несколько фреймов на странице, все они не могут иметь одинаковое значение ID, так как же это можно сделать.
<iframe id="12345"></iframe>
<iframe id="12345"></iframe>
<iframe id="12345"></iframe>
Это работает с одним iframe (я знаю, что у вас не может быть нескольких одинаковых идентификаторов в одном документе.) Идея в том, чтобы сделать что-то вроде этого.
parent.document.getElementById('12345').contentWindow.location.reload();
Извините за неаккуратный пример, я слишком долго не спал. 🙂
Ответ №1:
Просто назначьте разные идентификаторы и вызовите
parent.document.getElementById(customId).contentWindow.location.reload();
несколько раз, по одному разу для каждого iFrame, который вы хотите перезагрузить.
Ответ №2:
У вас есть два варианта, либо выполнить итерацию по всем идентификаторам, перезагружая каждый по мере необходимости…
Или, если вы перезагружаете ВСЕ фреймы, вы можете использовать это:
for(var i=0;i<window.frames.length;i ){
window.frames[i].location.reload();
}
Ответ №3:
/* include in parent */
function reloadIframes( ) {
var i = argument.length;
while ( i-- ) {
document.getElementById( arguments[i] ).contentWindow.location.reload()
}
}
/* In an iframe (probably in the onclick of your button) */
parent.reloadIframes( 'id1', 'id2' );
Ответ №4:
Это то, что я в конечном итоге использовал, работает отлично! Я создал iframe следующим образом:
<iframe name="ifwXXXX"></iframe>
Затем я смог использовать приведенный ниже код, чтобы получить все iframes с одинаковым именем и выполнить цикл обновления каждого из них.
function refreshwant(ifid,lid){
parent.document.getElementById('pfid' lid '').contentWindow.location.reload();
var x = parent.document.getElementsByName('ifw' ifid '');
for(var i = 0; i < x.length; i )
{
x[i].contentWindow.location.reload();
}
}
Спасибо за всю помощь, надеюсь, это тоже кому-нибудь поможет.!