Tag: matchmedia

未调用Safari的window.matchMedia处理程序

发生afterPrint时,我需要执行doSomethingFunc 。 我的代码在所有浏览器上工作正常,除了当前的Safari版本(OSX上的Safari 10.1和iOS 10.3上的Safari浏览器)。 看来,事件监听器(至less对于打印)不被称为这两个浏览器。 const mediaQueryPrint = window.matchMedia('print'); mediaQueryPrint.addListener((mql) => { if (!mql.matches) { setImmediate(doSomethingFunc); } }); window.print(); 上面的代码完全适用于OSX Safari 9.1.2和iOS 10.2的Safari。 但不是与当前的版本。 有人注意到类似的东西吗? 或者我必须改进我的代码为当前的Safari版本? 我的猜测是,这是一个Safari错误,因为在Safari 10.1 更改日志章节Accessability中有相应的注释。