Chrome 109.0.5414.75版本中window.onafterprint是否失效?
Chrome 109.0.5414.75中window.onafterprint无法触发的问题处理
- 问题确认:Chrome升级至109.0.5414.75(64位官方版)后,
window.onbeforeprint可正常触发,但window.onafterprint完全失效,相同代码在Edge、Firefox中运行正常,判定为该版本Chrome的API兼容bug。 - 临时替代方案:
利用媒体查询监听打印状态变化,模拟onafterprint的触发逻辑,代码示例:
该方案兼容多数现代浏览器,包括出现问题的Chrome版本。const printQuery = window.matchMedia('print'); printQuery.addEventListener('change', (e) => { if (!e.matches) { // 此处执行原onafterprint的业务逻辑 console.log('after!'); } }); - 后续建议:
- 关注Chrome官方更新,该bug大概率会在后续版本中修复;
- 测试时需完成完整打印流程(打印或取消),避免因中途终止流程导致的事件未触发误判。
内容的提问来源于stack exchange,提问作者Michael Law
相关产品推荐
相关产品推荐

