0

私は HTML と JavaScript のプロジェクトに取り組んでいます。Ctrl+P を押すと、ブラウザーは (表示されている) Web ページを印刷します。これをブロックするには、私は使用しています

 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 に答える