Pergunta

Na cbjsonline.com , eu estou tentando ter um pdf em uma impressão iframe automaticamente com o javascript.

Atualmente, o meu código é - (ligado ao onclick do link que abre o iframe) - document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);

Todas as sugestões? Este método só funciona no Safari.

Foi útil?

Solução

Tente passar um ponteiro de função para setTimeout, em vez de uma expressão que se eval'd.

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

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

Outras dicas

OK, eu decidi deixar o usuário imprimir a página. Acho iFrames com PDFs estão tentando demasiado variável para imprimir com javascript. Se alguém quiser tentar isso, isso é o que eu recomendo. Use a carga jquery, que verifica a existência de ativos, não apenas de carga, não o handeler onload, porque o atraso para o leitor de adobe varia muito entre computadores. Além disso, tente nomeação e focar a iframe antes de imprimir (por nome, por isso iframe.print (), em vez de window.print ()), de que maneira ele não vai tentar imprimir a página de seu actualmente. Pode ser uma idéia melhor apenas para usar o Scribd iPaper espectador para esta aplicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top