与其他几篇文章不同,这不是 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>
有人对此问题有任何建议、解决方案或解决方法吗?任何事情都会非常感激,即使它不是完全正确的答案。