当afterPrint发生时,我需要执行doSomethingFunc
。我的代码在所有浏览器上都运行良好,除了当前的Safari-Versions(OSX上的Safari 10.1和iOS 10.3中的Safari浏览器)。似乎没有为这两个浏览器调用事件监听器(至少用于打印)。
const mediaQueryPrint = window.matchMedia('print');
mediaQueryPrint.addListener((mql) => {
if (!mql.matches) {
setImmediate(doSomethingFunc);
}
});
window.print();
上面的代码与iOS 10.2的OSX Safari 9.1.2和Safari完美配合。 但不是当前的版本。
有人注意到类似的东西吗?或者我是否必须改进当前Safari版本的代码?
我的猜测是,这是一个Safari错误,因为Safari 10.1 changelog章节可访问性中有相应的注释。
答案 0 :(得分:-1)
你不想打电话吗
setImmediate(doSomethingFunc);
当
mql.matches
是真的吗?为什么 '!'然后?