Вопрос

На странице cbjsonline.com я пытаюсь получить PDF-файл в распечатке iframe. автоматически с помощью JavaScript.

В настоящее время мой код - (связан с щелчком по ссылке, открывающей iframe) - document.getElementById ('fancy_frame'). onload = setTimeout ('window.print ()', 2500);

Есть предложения? Этот метод работает только в сафари.

Это было полезно?

Решение

Попробуйте передать указатель функции в setTimeout вместо выражения, которое получает eval'd.

document.getElementById('fancy_frame').onload = setTimeout( printWindow, 2500 );

// implemented in the HTML that is loaded in 'fancy_frame'
function printWindow()
{
    window.print();
}

Другие советы

Хорошо, я решил позволить пользователю распечатать страницу. Я думаю, что iFrames с PDF слишком переменны, пытаясь напечатать javascript. Если кто-то хочет попробовать это, это то, что я бы порекомендовал. Используйте загрузку jquery, которая проверяет ресурсы, а не только загрузку, а не обработчик загрузки, поскольку задержка для Adobe Reader сильно различается на разных компьютерах. Кроме того, попробуйте назвать и сфокусировать iframe перед печатью (по имени, поэтому iframe.print () вместо window.print ()), чтобы он не пытался напечатать страницу, на которой вы сейчас находитесь. Возможно, лучше использовать для этого приложение средство просмотра irib scribd.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top