Javascript 更改chrome打印预览默认选项

Javascript 更改chrome打印预览默认选项,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,在chrome打印预览中的“选项”选项卡下,默认设置是勾选页眉和页脚。是否不可能通过javascript/chrome扩展/任何外部命令用户手动将其默认设置为off 或者是否可以删除此处显示的日期 页面只是html,因此如果您可以在页面上执行javascript,那么是的,您可以这样做。我不记得Chrome扩展是否可以绑定到内部页面。你知道怎么写Chrome扩展吗?如果是这样的话,这将很容易测试 document.getElementById('header-footer').checked =

在chrome打印预览中的“选项”选项卡下,默认设置是勾选页眉和页脚。是否不可能通过javascript/chrome扩展/任何外部命令用户手动将其默认设置为off

或者是否可以删除此处显示的日期


页面只是html,因此如果您可以在页面上执行javascript,那么是的,您可以这样做。我不记得Chrome扩展是否可以绑定到内部页面。你知道怎么写Chrome扩展吗?如果是这样的话,这将很容易测试

document.getElementById('header-footer').checked = false;
Chrome只允许您耦合特定的
Chrome://
页面,而打印页面不是其中之一。您还可以将脚本限制在几个特定的方案中

匹配模式本质上是以允许的方案(http、https、文件或ftp)开头的URL


似乎没有办法做这样的事

简而言之,是的,您可以控制这种行为。这实际上非常奇怪——正如最初的问题“这种行为的秘密在
@page
CSS属性中”所回答的那样

如果您设置了此确切样式:

    @page { margin: 0; }
当您获得所需的行为时,“页眉和页脚”选项将消失:

这似乎是谷歌Chrome的一种未经记录的行为,或者至少不为人所知——草草翻阅他们的开发者文档毫无收获。谷歌在自己的网络应用程序中都使用它,所以这可能不是秘密,但我找不到任何官方的注释

值得注意的是,
0
的边距并不是简单地禁用“页眉和页脚”选项,它实际上会导致它完全从菜单中消失(通过快速折叠)

实验表明,这方面的其他变化并没有同样的效果。例如
margin:0;左边距:10厘米不会导致此行为

如果您选择实现此解决方案,则意味着丧失通过
@page
属性控制这些页边距的能力--您应该将其作为CSS打印媒体样式表的一部分进行控制。让人恼火的是,Chrome这样破坏了
@page
属性。这就是说,
FF
仍然不支持
@page
(从现在开始),因此它不是一个完美的解决方案



*有关
@page
属性的详细信息

@页面
CSS应该控制打印页面的边距,它说:

页面框是一个矩形区域,包含两个区域:

  • 页面区域。页面区域包括在该页面上布置的框。 第一页区域的边缘建立矩形,该矩形是 文档的初始包含块。画布背景是 在页面区域内绘制并覆盖页面区域

  • 边缘区域,其中 环绕页面区域。页面边距区域是透明的


最现代的是
@page
CSS属性。Firefox是最杰出的,尽管他们做得很好,但他们的问题追踪可以追溯到10年前。最近的一次行动是在今天,因此FF可能很快将提供
@page
支持。

在当前版本的Google Chrome中,打印预览现在可以选择是否包含页眉和页脚,以及定义页边距、是否包含背景色和图像。只需将您的浏览器更新到最新版本。

当前版本的31会记得您是否需要双面、页眉和页脚以及打印背景图像和颜色的设置,但据我所知,它不会记得边距设置。

嘿@jaycode,您有没有想过这一点?我正试着做同样的事情。正在寻找一种默认情况下关闭页眉和页脚的方法。请注意,如果您删除了页边距,即使您将页边距添加到页面顶部以进行补偿,如果您打印的页面超过1页,您也会遇到问题。值得注意的是,您不必设置确切的样式。例如,如果您想在页面上保留左右边距,可以执行
@page{margin:0 auto;}
。如果没有此站点,我们该怎么办?太棒了!!回答得好!Chrome最新版本的正确命令现在是
document.getElementsByClassName('header-footer-checkbox')[0]。checked=false
,但它只在加载打印页面后在控制台中运行它时起作用。。。奇怪的是,当我重新打开打印页面时,设置会再次被检查,而当用户点击复选框时不会出现这种情况。但chrome仍然无法控制我们是否需要像IE一样隐藏URL/页码或标题。可能是因为这不准确。