gpt4 book ai didi

google-chrome - 如何在 Javascript window.print() 调用的默认打印菜单上捕获点击事件?

转载 作者:行者123 更新时间:2023-12-03 17:06:50 32 4
gpt4 key购买 nike

我已经构建了一个使用 window.print() 启用打印的页面。由于管理层的一些非常不寻常的要求,我需要能够捕获调用 window.print() 时出现的打印菜单的点击事件。具体来说,在 Chrome 中,我需要捕获“打印”(蓝色)和“取消”(灰色)按钮的点击事件。

我不得不承认我什至不知道从哪里开始。我检查了每个元素,可以看到这些是标准的 html 元素。这些按钮有类( 打印默认值 用于打印按钮和 取消 用于取消按钮)但没有 ID。

我还注意到在打印菜单之外没有可见的 DOM,并且打印菜单 html 标签的 ID 为“打印预览”。

如何捕获打印菜单按钮的点击事件(至少在 Chrome 中)?

最佳答案

您无法从常规网页直接访问 Chrome 的内部窗口(在本例中为打印对话框)。

要确定打印对话框是打开还是关闭,您可以捕获 matchMedia 事件(仅限 webkit):

var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if (mql.matches) {
console.log('before print dialog open');
} else {
console.log('after print dialog closed');
}
});

但是您无法检查是否单击了“打印”或“取消”按钮。无法从常规网页访问此信息。

要获取有关 Chrome 打印机作业的信息,您只能为 Chrome 创建扩展程序并收听 onPrintRequested event在内容脚本中。当然扩展必须安装到每个页面用户的浏览器中。

关于google-chrome - 如何在 Javascript window.print() 调用的默认打印菜单上捕获点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970829/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com