2016-08-17 6 views
0

問題があり、解決策が見つかりません。 私は自分のアプリケーションでjavascriptを使ってカスタムCTRL + Pショートカットを定義しましたが、IE 11とMS Edgeに印刷ウィンドウを表示させたくありません。 だから、私のコードの実行後に、私はこのコードを書いてきました:JavaScript:IE 11およびMS EdgeがCtrl + Pをオーバーライドします

   e.keyCode = 0; 
       e.cancelBubble = true; 
       e.returnValue = false; 

       if (e.preventDefault) 
        e.preventDefault(); 

       if (e.stopPropagation) 
        e.stopPropagation(); 

       return false; 

、残念ながらそれは動作しません。印刷ウィンドウも表示されます。クロムとFirefoxですべてうまく動作します。 もう1つのこと:私がEdge上で実行しているスクリプト(例えば、e.keyCode = 0;行)をブレークポイントで停止してから、印刷ウィンドウを再開することはできません。

私はカスタムショートカットを追加している方法は次のとおりです。

if (el.addEventListener) el.addEventListener('keydown', func, false); 
else if(el.attachEvent) el.attachEvent('onkeydown', func); 
... 

FUNC変数は、(メッセージの先頭から)ストップ伝播のためのカスタムアクションやコードのための私のコードが含まれています。 ありがとう!

答えて

2

「印刷」ダイアログを確実にブロックすることはできません。

提案:

内蔵のブラウザ機能ではない(試みに)ブレークを行います。
これはです。常にになると、UXが減少します。

さらに、でもの場合は、印刷ポップアップを無効にすることができます。ユーザーがスクリーンショットを撮るのを止めるにはどうすればよいですか?

+0

ビジネスアプリケーションです。ユーザーは自分のショートカットを定義する機会があります。 – Alex

+0

なぜユーザーは[Ctrl] + [P]以外のものを使用して印刷するのですか?また、それでも、それを確実にブロックすることは不可能であるという事実は変わらない。 – Cerbrus

+0

私は分かりません。異なるユーザーと異なる状況があります。 – Alex

関連する問題