I ran into this problem when I realised that there was a bug in Safari which brakes the column-count property in the print version. Since I didn’t find a solution for this (and I didn’t want o revamp the entire structure) we agreed with the customer on displaying a message to Safari users once they hit CTRL+P or CMD+P.
I combine the detection of CTRL+P or CMD+P press and the browser used :
document.addEventListener("keydown", function (event) { // event.stopPropagation(); // event.preventDefault(); if(event.ctrlKey && event.keyCode == 80) // pour CTRL { console.log("CTRL + P was pressed!"); var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf('safari') != -1) { if (ua.indexOf('chrome') > -1) { //alert("1chrome") // Chrome } else { alert("For best printing experience please use one of the following browsers // Pour une meilleure expérience d'impression, veuillez utiliser l'un des navigateurs suivants: Chrome, Firefox, Edge, Opera... autre que Safari!") // Safari } } } else if(event.metaKey && event.keyCode == 80) { // pour CMD mac console.log("CMD + P was pressed!"); var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf('safari') != -1) { if (ua.indexOf('chrome') > -1) { alert("1chrome") // Chrome } else { alert("For best printing experience please use one of the following browsers // Pour une meilleure expérience d'impression, veuillez utiliser l'un des navigateurs suivants: Chrome, Firefox, Edge, Opera... autre que Safari!") // Safari } } } else { // console.log("Something else was pressed."); } }); // document add listener