通过`print()`打印不会打印Firefox中的所有页面

时间:2012-12-10 10:15:16

标签: javascript firefox printing

我想知道如何在Firefox中使用JavaScript来使用打印选项。

我有一个有打印链接的页面:

<a href="javascript:print()">print</a>

我也按照关于Javascript print button页面的说明进行操作。

问题在于,当我尝试在Firefox下打印页面时,我得到一个缺少内容的四页PDF预览:

  • 第一页是空的,
  • 第二个将从应该在第三页上的内容和
  • 开始
  • 第三页和第四页是空的

我尝试使用Chrome,它按预期工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

获得一致打印行为的最佳方法是使用打印样式表。这确切地定义了应该打印哪些内容,因为浏览器在这个问题上存在很大差异。某些浏览器在某些标记方面存在问题(例如浮动元素)。

您可以在 A List Apart 上找到关于打印样式表的非常好的文章,这对您应该非常有帮助。

当然可能还有其他更好的文章更新,但这篇ALA文章非常基础,即使它已经有10年了,它仍然值得阅读 - 这就像网络内容的石头一样;)

答案 1 :(得分:1)

这都是因为Firefox无法处理不同的容器样式。我使用UIkit,并通过将以下代码添加到我的CSS文件中来解决此问题:

@media print
{   
    .uk-grid {
        display: inline !important
    }
}

您可能要为所使用的类设置“显示:内联!important”。