为什么火狐浏览器的页眉不打印出来?

我已经看到这个问题在几个不同的方式在SO和其他几个网站,但大多数是太具体或过时的。我希望有人能够在这里提供一个确定的答案,而不是嘲笑投机。

有没有办法,用CSS或javascript,以更改默认打印机设置,当有人在他们的浏览器打印?当然,“从他们的浏览器打印”我的意思是某种形式的HTML,而不是PDF或一些其他插件依赖mime类型。

如果一些浏览器提供这个和其他的没有(或者如果你只知道如何做一些浏览器),我欢迎特定于浏览器的解决方案。

同样,如果你知道一个主流浏览器对EVER有这样的限制,这也是有帮助的,但一些相当新的文档将被赞赏。 (简单地说,“违反XYZ的安全政策”在XYZ在过去三年里对所述政策做出重大改变时并不十分令人信服)。

最后,当我说“更改默认打印设置”我不是指永远,只是为我的页面,我具体指的是打印边距,页眉和页脚。

我非常清楚,CSS提供了改变页面方向以及页面边距的选项。其中一个困难是火狐。如果我将页边距设置为1英寸,它将ADDS这个半英寸它已经放置到位。

我非常希望减少在我的客户的网站上的PDF的使用,但是对演示的侵犯(以及缺乏可靠性)是他们的主要关注。

CSS标准启用一些高级格式化。 CSS中有一个@page指令,用于启用一些仅适用于分页媒体(如纸)的格式。见 。

缺点是不同浏览器的行为不一致。 Safari仍然不支持设置打印机页面边距,但所有其他主要浏览器现在都支持它。

使用@page指令,可以指定页面的打印机边距(与HTML元素的常规CSS边距不同):

尽管在这些浏览器中您的内容的页面边距设置正确,但是在解决页眉/页脚隐藏方面的行为并不理想。

这是它在不同的浏览器中的行为:

>在Internet Explorer中,边距在此打印设置中实际设置为0mm,如果您执行预览,则默认情况下将获得0mm,但用户可以在预览中更改。
您将看到页面内容实际上位置正确,但浏览器打印页眉和页脚显示为非透明背景,因此有效地隐藏该位置的页面内容。
>在Firefox的较新版本中,它的位置正确,但是显示了页眉/页脚文本和内容文本,因此它看起来像是浏览器页眉文本和页面内容的混合。
>在Opera中,当在标准css中使用非透明背景时,页面内容隐藏标题,并且页眉/页脚位置与内容冲突。非常好,但看起来奇怪,如果margin设置为一个小的值,导致头部分可见。页面边距也未正确设置。
>在Chrome较新版本中,如果将@page margin设置为小到页眉/页脚位置与内容冲突,则浏览器页眉和页脚将被隐藏。在我看来,这正是这应该如何行为。

所以结论是,Chrome有最好的实现这一点,隐藏的页眉/页脚。

}
  • print() 方法用于打印当前窗口的内容,支持部分或者整个网页打印。

    调用 print() 方法所引发的行为就像用户单击浏览器的打印按钮。通常,这会产生一个对话框,让用户可以取消或定制打印请求。

  • 网页打印去掉页眉页脚,以及控制需要打印的内容。源代码

  • 此示例使用将页面分为多页,并在每个打印页面上使用自定义页眉和页脚。 演示 查看演示。 请注意,您需要手动按Ctrl-p来检查页面的打印预览。 在职的。 Columizer api在多列中中断页面,在这种情况下,此处保持列...

}

我要回帖

更多关于 火狐浏览器打印不了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信