2014-11-23 2 views
0

У меня есть простой HTML-код для печати страницы. Ниже приведен код:Метод javascript print() не работает должным образом

<!DOCTYPE html> 
<html> 
<head> 

<script> 
function printPage() 
{ 
    var w = window.open("http://www.sigmaaldrich.com/catalog/CofADocRequest.do?symbol=209104&LotNo=MKBP0842V&brandTest=SIGMA","_self"); 
    window.focus(); 
    window.print(); 
    } 
</script> 

</head> 
<body > 
<input type="button" onclick="printPage()" value="print a div!" /> 
</body> 
</html> 

Что делает код, он отображает кнопку, при нажатии этой кнопки она вызывает функцию. Функция использует open(), чтобы открыть новый URL-адрес на той же странице, используя параметр «_self».

Как мы видим в коде, функция print() вызывается после вызова метода open. Но в моем браузере IE11 отображается всплывающая подсказка для загрузки страницы. Из-за этого я не печатаю правильную страницу.

Может ли кто-нибудь помочь мне в этом.

+0

Checkout этот вопрос [печать IFrame] [1] [1]: HTTP://stackoverflow.com/questions/27088967/javascript-print-method-is-not-working-as-expected –

ответ

1

Проблема в том, что window относится к текущему окну, являющемуся оригиналом. Открыв новое окно, вы замените страницу, это в основном перенаправление. И если вы откроете его с помощью всплывающего окна и напечатайте его как w.print(), чем вы столкнетесь с ошибкой ошибки перекрестного происхождения.

Вы можете использовать IFRAME для этого с прокси-сервером, как показано здесь How do print specific content inside the iframe и здесь How do print specific content inside the iframe

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