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