#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 дочерней функции.