Проблемы с обновлением iframe с помощью JavaScript - PullRequest
0 голосов
/ 28 августа 2009

Раньше это работало, но по какой-то причине это больше не работает. Я использую JavaScript, чтобы изменить источник iframe, а затем обновить его. Причина в том, что я хочу отправить переменную в iframe до ее просмотра.

Я добавил отладочный код som, и он показывает «debug 1», но не «debug 2».

В чем может быть проблема?

$("#upload_iframe").attr("src", "/editor/upload/?dir=" + dir);
// ---------------------------------
// THESE LINES DON'T WORK - STOPS AFTER FIRST DEBUG IS RUN...
// ---------------------------------
alert('debug 1');
$("#upload_iframe").contentWindow.location.reload(true);
alert('debug 2');
// ---------------------------------
$("#upload_file").dialog('open');

Ответы [ 2 ]

4 голосов
/ 28 августа 2009

Поскольку вы хотите получить доступ к dom, а не к объекту jquery, вы должны добавить [0]:

$("#upload_iframe")     //is an array of matching dom objects
$("#upload_iframe")[0]  //is the first matching dom object

Вы также можете добавить случайную строку для предотвращения кэширования в браузере:

$("#upload_iframe")[0].contentWindow.location.href = "/editor/upload/?dir=" + dir + "&rid=" + Math.random();
2 голосов
/ 28 августа 2009

Лично мне не очень повезло с использованием метода "reload ()". Попробуйте это:

$("#upload_iframe").contentWindow.location.href = $("#upload_iframe").contentWindow.location.href;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...