2013-08-30 3 views
0

Следующая страница HTML должна открыть http://www.seznam.cz в новом окне, а затем открыть диалоговое окно «Печать», чтобы разрешить его печать.Печать страницы с помощью javascript не работает

<html> 
    <head> 
     <script> 
      function printPage() 
      { 
       var newWindow = window.open("http://www.seznam.cz", "seznam"); 
       newWindow.document.close(); 
       newWindow.focus(); 
       newWindow.print(); 
       newWindow.close(); 
      } 
     </script> 
    </head> 
    <body> 
     <a onClick="printPage(); return false;" href="">Print</a> 
    </body> 
</html> 

Однако это только печатает пустую страницу с «о: пустой» в верхнем правом углу и текущей даты и времени в правом нижнем углу.

Почему он не работает должным образом?

+1

возможно связанные с [этот вопрос] (http://stackoverflow.com/questions/6690598/permission-denied-to-access-property-in-iframe), это может быть проблема [той же политики происхождения] (http://en.wikipedia.org/wiki/Same_origin_policy). –

+0

Да, я думаю, это действительно проблема одной и той же политики происхождения. Вот почему версия @ collprarun работает, а оригинальная - нет. –

ответ

1

Попробуйте это, он напечатает страницу. Вы можете изменить ее на свои требования.

<input type="button" value="Print" onclick="printPage('content');"></input> 

function printPage(id) 
{ 
    var html="<html>"; 
    html+= document.getElementById(id).innerHTML; 
    html+="</html>"; 

    var printWin = window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status =0'); 
    printWin.document.write(html); 
    printWin.document.close(); 
    printWin.focus(); 
    printWin.print(); 
    printWin.close(); 

}

+1

Я думаю, что вы потеряли '' –

+0

О, спасибо за исправление @AldiUnanto – coolprarun

0

Причина в том, что вы снова закрываете окно в своей функции. Удалить

newWindow.document.close(); 
newWindow.close(); 

Причина пустой странице, потому что вы указали пустую строку в качестве href значения. Удалите атрибут href из тега.

+0

К сожалению, это не сработает. Даже после того, как я удалил эти две строки, результат все тот же. –

Смежные вопросы