Согласно caniuse & bugzilla прослушиватель событий onbeforeprint
не поддерживается в Safari.Однако MDN предлагает polyfill , который, по сути, следит за изменением медиазапросов.
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if(mql.matches) {
console.log('webkit equivalent of onbeforeprint');
}
});
Кажется, это работает хорошо.У меня вопрос, как будет выглядеть полизаполнение для onafterprint
(которое также не поддерживается в Safari)?
В то время как событие beforeprint
и медиа-запрос изменяются на 'print'
точно совпадают, afterprint
не похоже на какое-либо соответствующее изменение медиазапроса query