Comment désactiver le clic droit sur IFRAME

J'ai un contenu de document affiché sur IFrame dans l'application Web MVC. Le contenu ne doit pas être copié et imprimé. J'ai essayé de désactiver le clic droit en utilisant deux fonctions style = "pointer-events: none;" Oncontextmenu = "return false" pour Iframe, qui fonctionne bien. Mais en cliquant avec le bouton droit de la souris, les fenêtres contextuelles avec 'View Frame Source', 'View Source' s'affichent. Comment puis-je restreindre cela. En outre, comment restreindre l'option de l'écran d'impression. Je sais qu'il existe d'autres utilitaires d'où n'importe qui peut capturer des données. Mais le client souhaite restreindre l'option de l'écran d'impression.

<script lang=JavaScript> function clickIE() { if (document.all) { return false; } } function clickNS(e) { if (document.layers || (document.getElementById && !document.all)) { if (e.which == 2 || e.which == 3) { return false; } } } if (document.layers) { document.captureEvents(Event.MOUSEDOWN); document.onmousedown = clickNS;`enter code here` } else { document.onmouseup = clickNS; document.oncontextmenu = clickIE; } document.oncontextmenu = new Function("return false") 

 <body oncontextmenu="return false" onkeydown="if ((arguments[0] || window.event).ctrlKey) return false" > <div id="div1" style="background-color:Red; height:120px"> <iframe id="id1" src="" name="I1" scrolling="no" height="100%" width="100%" marginwidth ="0" marginheight="0" onload="disableContextMenu();" style="pointer-events:none;" /> </div> 

S'il vous plaît, une aide a été appréciée … !!

Pour désactiver le menu contextuel, vous pouvez utiliser l'extrait suivant:

 document.oncontextmenu = function() { return false; }; 

J'ai fait un JSFiddle qui affiche l'effet.

Votre question est un peu déroutante car le titre concerne le clic droit, mais la question de la copie consiste à copier et à coller et à utiliser le bouton de l'écran d'impression. Bien que vous puissiez faire certaines choses avec le bouton droit de la souris (déjà répondu par d'autres publications et bien documenté), votre question est généralement de savoir comment empêcher les personnes d'accéder au code / contenu ou à imprimer une copie de votre contenu.

Ceci n'est pas possible. Alors que vous pouvez rendre plus délicat pour certains utilisateurs, il ne réussira jamais à ceux qui sont assez déterminés.

Tout d'abord, même si vous avez désactivé le bouton de l'écran d'impression sur le clavier, il existe de nombreux programmes de capture d'écran … Et je ne vois pas comment il sera possible de détecter un autre programme en le faisant Dans les limites du code du site Web.

Toute solution javascript peut échouer, elle peut désactiver JavaScript.

Même si vous avez réussi à empêcher quelqu'un d'afficher le code source et de copier le code HTML, quelqu'un pourrait juste racler le contenu directement à partir du site.

J'ai un ami qui est un graphiste et il voulait le faire (désactivez les personnes qui copient des images dans ce cas). Je lui ai dit de ne pas déranger, s'ils veulent prendre le contenu que vous mettez dans le domaine public, ils le feront. Une marque d'eau peut aider, mais seulement dans certaines situations. Personnellement, j'abandonnerais cette tâche et je l'accepterais, et je me concentrerai sur des tâches plus intéressantes.

 window.frames["your_iframe_id"].document.oncontextmenu = function(){ return false; };