1

与其他几篇文章不同,这不是 window.print() 在 Opera 中不起作用的问题。它确实有效。无论我导航到 File->Print 还是调用 window.print(),都会打开一个打印对话框。问题是输出不正确。具体来说,应该打印出一张图像,但只打印了一部分。这仅发生在 Opera 中。如果我使用window.print(),就会出现上述问题。如果我再次使用 File->Print,也会出现同样的问题。但是,如果我打开 Opera 的打印预览选项,然后打开文件->打印,它会完美地打印出图像。我不明白。

仅供参考,(重要),我正在使用单独的样式表进行打印。

非常感谢。

更新

我确实在打印样式表中找到了对这个问题有很大影响的一行:

html { background-color : #FFFFFF; }

未注释掉时,输出显示在打印预览中。然后,我执行 File->Print 并正确打印出来。但是在启动 window.print() 后它不会打印。

注释掉时,输出不会显示在打印预览中。然后,我执行 File->Print,但它不能正确打印或根本打印不出来。但它确实在启动 window.print() 后打印。

我不知道从这里做什么。

更新 2

这是代码的简化版本,它仍然无法从 File-> Print 正确打印,但使用 Print Preview 可以正确打印。它应该打印 3 页,但 File->Print 只打印第一页:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <style type="text/css" media="screen">
      #Content {
        height: 250px;
        width: 25%;
        overflow-y: auto;
      }
    </style>

    <style type="text/css" media="print">
      #Content {
        height: 100%;
        width: 100%;
      }
    </style>    
  </head>

  <body>
    <div id="Content">
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" /><br />
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" /><br />
      <img src="http://i00.i.aliimg.com/photo/v0/247580968/GPS_software_GPS_schematic_diagram.jpg" />
    </div> 
  </body>
</html>

有人对此问题有任何建议、解决方案或解决方法吗?任何事情都会非常感激,即使它不是完全正确的答案。

4

0 回答 0