Javascript 更改chrome打印预览默认选项
在chrome打印预览中的“选项”选项卡下,默认设置是勾选页眉和页脚。是否不可能通过javascript/chrome扩展/任何外部命令用户手动将其默认设置为off 或者是否可以删除此处显示的日期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 =
页面只是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/页码或标题。可能是因为这不准确。