The onbeforeprint property of the WindowEventHandlers mixin is the EventHandler for processing beforeprint events for the current window. These events are raised before the print dialog window is opened.

The beforeprint and afterprint events allow pages to change their content before printing starts (perhaps to remove a banner, for example) and then revert those changes after printing has completed. In general, you should prefer the use of an @media print CSS at-rule, but it may be necessary to use these events in some cases.


window.addEventListener("beforeprint", function(event) { ... });
window.onbeforeprint = function(event) { ... };


Safari does not implement these events, but you can create an equivalent result to the beforeprint event with window.matchMedia('print').

var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
  if(mql.matches) {
    console.log('webkit equivalent of onbeforeprint');


Specification Status Comment
HTML Living Standard
The definition of 'onbeforeprint' in that specification.
Living Standard

Browser compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onbeforeprintChrome Full support 63Edge Full support 12Firefox Full support 6IE Full support YesOpera Full support 50Safari Full support 13WebView Android Full support 63Chrome Android Full support 63Firefox Android ? Opera Android Full support 46Safari iOS Full support 13Samsung Internet Android Full support 8.0


Full support
Full support
Compatibility unknown
Compatibility unknown

See also