根据caniuse和bugzilla,Safari不支持事件监听器onbeforeprint
。但是MDN提供了一个polyfill,实际上可以监视媒体查询的更改。
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if(mql.matches) {
console.log('webkit equivalent of onbeforeprint');
}
});
这似乎很好。我的问题是onafterprint
(在Safari中也不支持)的polyfill是什么样的?
虽然beforeprint
事件和媒体查询更改为'print'
非常吻合,但afterprint
似乎与任何相应的媒体查询更改都不相符