【问题标题】:Printing via `print()` doesn't print all pages in Firefox通过 `print()` 打印不会打印 Firefox 中的所有页面
【发布时间】:2012-12-10 10:15:15
【问题描述】:

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

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

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

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

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

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

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

有什么想法吗?

【问题讨论】:

  • 您必须引用给您带来麻烦的页面标记,最好先创建一个独立的最小示例来展示问题。
  • @bonny:所以有人猜对了。这并不意味着您不应该正确地提出问题。

标签: javascript firefox printing


【解决方案1】:

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

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

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

【讨论】:

  • 这个!获胜的媒体类型敏感 CSS 文档。
【解决方案2】:

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

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

您可能希望为您使用的类设置“display: inline !important”。

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多