window.print()在chrome中工作,但在safari中不工作

时间:2018-08-16 06:55:53

标签: javascript html google-chrome firefox safari

我想实现打印功能,我要打印一个段落和图像。我得到的段落是chrome而不是图像。 我在Firefox中获取图像和文本,但在野生动物园中却什么也没得到。 我该如何工作?

谢谢

<html>
<head>
<script type="text/javascript">
  function openWin()
  {
  	
    var myWindow=window.open('','','width=1200,height=1000');
    myWindow.document.write("<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vitae mi aliquet, pharetra risus ut, viverra nunc. Nam feugiat lacinia eleifend. Duis et varius dui, et porta turpis. Curabitur sed sagittis elit, id commodo est. Ut porta blandit arcu vel consectetur. Vivamus pulvinar, libero quis tristique molestie, quam eros semper lacus, eu imperdiet diam arcu ac nisi. Vivamus faucibus consectetur molestie. Aliquam suscipit pretium mi, bibendum laoreet urna convallis eget. Sed vitae consequat ipsum. Suspendisse pretium faucibus ipsum at lacinia. Suspendisse potenti. Nullam ut neque quis orci elementum tristique. Ut quis massa dui.</p> <img src= 'https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'></p>");
    myWindow.document.write("");
    myWindow.document.close();
    myWindow.focus();
    myWindow.print();
    myWindow.close();
  }
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin()" />

</body>
</html>

1 个答案:

答案 0 :(得分:1)

以下解决方案为我工作。 我使用了setTimeOut函数,以便在它通过控制打印后给它足够的时间来加载图像。

 setTimeout(function() {
     myWindow.print();
     myWindow.close();
    }, 250);