Iframe загружает содержимое только при 2-м щелчке мыши

#javascript #jquery #html #iframe

#javascript #jquery ( jquery ) #HTML #iframe — фрейм

Вопрос:

У меня есть iframe, который загружается со второго URL-адреса и открывается как окно печати, чтобы сгенерировать и распечатать счет-фактуру.

Однако содержимое появится только во 2-й раз, когда я нажму кнопку Счета, а не в первый. Я пытался добавить тайм-аут к функции, но это не дало никакого эффекта.

 <button type="button" onClick="$('#order_invoice').attr('src','/default.aspx/[url goes here');setTimeout(window.frames['order_invoice'].print(),500);" class="major" title="Tax Invoice">Tax Invoice</button>
                        <iframe id="order_invoice" name="order_invoice" class="order_invoice" src="" style="display:none;" scrolling="no"/>
 

Когда я нажимаю на кнопку, я получаю пустую страницу в режиме предварительного просмотра, как я могу отложить открытие окна до тех пор, пока содержимое не будет загружено?

Комментарии:

1. Спасибо за правку, здесь очень рано, и я еще не совсем проснулся.

2. фреймы iframes имеют событие загрузки, которое может быть использовано для ваших целей

Ответ №1:

Лучший способ контролировать такие вещи — поместить функцию печати в функцию на родительской странице, чем вызывать эту функцию из дочернего iframe в качестве родительского.myFunction() из document.onLoad дочерней функции.