2017-01-25 3 views
0

Почему следующая страница не печатается на Google Chrome? JSFiddleЗакрытие диалогового окна Chrome Print

<!doctype html> 
<html> 
<head></head> 
<body> 
<iframe id="f" src="http://placehold.it/350x1500?q=1"></iframe> 
<script> 
    window.addEventListener("resize",function() { 
     var f = document.querySelector("#f"); 
     f.src = f.src+"1"; 
     f.style.height="2000px"; 
    }); 
</script> 
</body> 
</html> 

Если вы не можете воспроизвести проблему, я использую Google Chrome 55.0.2883.95 (Official Build) (64-bit), и мой размер экрана 1920x1080

Еще более интересно, он все еще не может печатать, когда у вас есть display: none набор. JSFiddle

<!doctype html> 
<html> 
<head></head> 
<body> 
<iframe id="f" src="http://placehold.it/350x1500?q=1" style="display: none"></iframe> 
<script> 
    window.addEventListener("resize",function() { 
     var f = document.querySelector("#f"); 
     f.src = f.src+"1"; 
     f.style.height="2000px"; 
    }); 
</script> 
</body> 
</html> 

Update

f.style.height не является необходимым, главным вопросом является изменение IFrame ЦСИ (виджет необходим параметр размера в месте)

+1

Может быть, это поможет: http://stackoverflow.com/a/29297406/6429774 – Phil

+0

@Phil Я рассмотрю это, но кажется немного странным, если у вас есть хром-специфический прослушиватель событий только для обнаружения печати. ​​ – Isaac

ответ

0

Это что-то делать с вашим изменить размер обработчика. Если вы удалите этот код, он отлично работает. Я считаю, что вы можете сделать то, что вы ищете в запросе CSS медиа вместо:

<iframe id="f" src="https://placehold.it/350x1500?q=1"></iframe> 

@media print { 
    #f { height: 2000px } 
} 

https://jsfiddle.net/7x9sdf79/1/

+0

Это правда, но этот код является урезанной версией с веб-сайта, над которым я работаю. Ключевым битом является iframe src – Isaac