google-chrome - 在 Windows 10 的 Edge 中打开打印对话框时,Document.hasFocus() 始终返回 true
问题描述
我试图使用 window.setInterval() API 来检查document.hasfocus()的结果。通常,当我们点击另一个浏览器选项卡或另一个应用程序时,一个页面的 document.hasfocus() 将返回false。但是,当我尝试在 Edge 中打印网页并打开打印对话框时,我发现document.hasfocus() 总是返回 true,它不应该是,因为打印对话框不属于网页。这只发生在Windows 平台上(它在 Mac 的 Edge 上运行良好)。事实上,这也发生在 Windows10 的 Chrome 上。
重现步骤:
- 使用 Edge 打开任何网页。
- 打开 devtools 并继续检查 document.hasFocus()。
- 打印网页并显示 Edge 的打印对话框。
- document.hasFocus() 无论我们点击到哪里(另一个选项卡或另一个应用程序),总是显示为真。
我不确定这是 Edge 还是 Web API 的错误,所以我想我应该在这里提交一个问题以寻求帮助。任何可以解决此问题的解决方法?提前感谢您的帮助。
解决方案
推荐阅读
- dataweave - 从dataweave代码中的字符串中提取电子邮件地址?
- excel - Lotus Notes 数据库搜索
- git - 为什么 git 说“更改未暂存以进行提交”并指示子模块文件夹?
- javascript - Javascript:为什么我的 array.filter 没有注册推送的值?
- razor - 在多个 asp.net 核心项目中使用单个布局页面
- python-3.x - 如何在 OpenCV 上计算和排序 RGB 数据?
- python - 找不到匹配的 GLX 视觉对象
- macos - 如何确定 callq 在这里调用什么函数?
- c - 为什么 gcc/clang 默认知道链接到 libc?
- java - 在 Spring Boot 应用程序中处理或抛出异常的最佳实践是什么?