ホームページ > ウェブフロントエンド > jsチュートリアル > JS アプリケーションでは画面キャプチャ、コピー、印刷が禁止されています_javascript スキル

JS アプリケーションでは画面キャプチャ、コピー、印刷が禁止されています_javascript スキル

WBOY
リリース: 2016-05-16 19:06:04
オリジナル
1320 人が閲覧しました

プロジェクトでは、画面のキャプチャ、コピー、印刷を禁止する必要があります。インターネット上にはさまざまなスクリプトが存在します。しかし、画面キャプチャを無効にするにはどうすればよいでしょうか? PrintScreen は特殊なキーで、keyCode のないキーなので、onkeydown は役に立ちません。しかし、考え方を変えて、ペーストボードから開始し、カーブを節約する戦略を採用する方がよいでしょう。コードは次のとおりです。


上記のコードは、100 ミリ秒ごとにペーストボードをクリアします。ページが読み込まれると、スクリプトの実行が自動的に開始されます。ただし、これには欠点があり、Web ページが最小化されているかどうかに関係なく、このウィンドウが開いている限り、コンピューター上のすべてのコピー操作を実行できません (ある意味、スクリプトはペーストボードをクリアし続けます)。期待通りの効果は得られましたが、やや物足りないです:(。

すべてのコントロールには onfocus イベントと onblur イベントがあることがわかっており、ウィンドウも例外ではありません。これら 2 つのイベントを使用することで、現在のコントロールがオンになったときにのみクリア操作を実行します。 window is active 、それ以外の場合は実行を停止します。 コードは次のとおりです:


これでこの問題は完全に解決できますが、スクリーンショットの内容をペーストボードに書き込まないスクリーンショット プログラムにはこの方法はまだ不十分です。
最新のテストでは、onfocus イベントと onblur イベントの使用方法が満足のいくものではないことが判明しました。フォーカスがプログラム ページ内の他のコントロール (Table であっても) を指すと、ウィンドウはフォーカスを失い、onblur イベントが停止します。ペーストボードのクリア コマンドを実行すると、onfocus と onblur のイベントをバインドするためにすべてのコントロールをトラバースする必要がありますか?
さらに、フォーカスがアドレス バーまたはメニューにある場合、window.onfocus はドキュメントの onfocus のみです。 onfocus も無効になります。このテキストは、半日 JS を勉強したことを記録するためにのみ使用します。

印刷を無効にするには、次のスタイル コードをプログラムに挿入するだけです (印刷されるページの内容は空白になります)。 ):


コピー、選択、右クリックメニューは禁止されています:






<script> <BR>window.setInterval("clipboardData.setData('text','')",100); <BR></script><script> <BR>var interval <BR>window.onfocus=function(){interval=window.setInterval("clipboardData.setData('text','')",100);} <BR>window.onblur=function(){window.clearInterval(interval);} <BR> </script> 上記のコードは IE6.0 環境で正常に動作します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート