0

我正在开发一个关于 HTML 和 javascript 的项目。按 Ctrl+P 浏览器将打印网页(它正在显示)。为了阻止这个我正在使用

 e.preventDefault();

但是当我试图在此之后调用我的函数时,浏览器的打印被启用。我想阻止浏览器打印弹出窗口并想显示我的弹出框。我怎样才能实现它?

4

1 回答 1

1

这应该可以工作(在 Chrome、Safari 和 Firefox 中测试)(jsfiddle):

$(window).keydown(function(evt){ 
    if((evt.which == "80" && ( evt.metaKey || evt.ctrlKey ))){  
            evt.preventDefault(); 
            alert('not printing anything here');
    }  
});​

更多资源:http ://h43z.blogspot.de/2012/11/whats-real-and-whats-not.html,http : //labs.neohapsis.com/2012/11/14/browser-event-hijacking /,http://arstechnica.com/security/2012/12/how-script-kiddies-can-hijack-your-browser-to-steal-your-password/ _ _

编辑:没有 jQuery 版本:

document.addEventListener('keydown',function(evt){
    if((evt.which == "80" && ( evt.metaKey || evt.ctrlKey ))){  
            evt.preventDefault(); 
            alert('not printing anything here');
    }  
});
于 2012-12-06T14:31:07.170 回答