小编m4l*_*lt3的帖子

未调用Safari window.matchMedia处理程序

doSomethingFunc当afterPrint发生时,我需要执行.我的代码在所有浏览器上都运行良好,除了当前的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();
Run Code Online (Sandbox Code Playgroud)

上面的代码与iOS 10.2的OSX Safari 9.1.2和Safari完美配合.但不是当前的版本.

有人注意到类似的东西吗?或者我是否必须改进当前Safari版本的代码?

我的猜测是,这是一个Safari bug,因为Safari 10.1 changelog章节的可访问性中有相应的注释.

javascript safari ios media-queries matchmedia

9
推荐指数
1
解决办法
782
查看次数

标签 统计

ios ×1

javascript ×1

matchmedia ×1

media-queries ×1

safari ×1