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

问题描述 投票:-2回答:2

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

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

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

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

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

  • 第一页为空,
  • 第二个将以应在第三页上的内容开头,并且
  • 第三页和第四页为空

我尝试使用Chrome,并且可以正常使用。

有什么想法吗?

javascript firefox printing
2个回答
5
投票

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

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

当然,可能还有其他一些较新的好文章,但这篇ALA文章是如此基础,即使它已有10年历史,仍然值得一读-这就像网络内容的stone脚;)


1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.