[Astuce] Un anti clic droit uniquement sur les images
Par Cédric Girard, le 08/08/2008 à 12:45 :: Techniques et tutoriaux :: #268 :: rss
Dans la droite lignée de mon article Protéger vos photos sur le web, voici une petite astuce adaptable à (presque) tous les sites web affichant des photos... Le concept est très simple : interdire le menu contextuel - en clair un anti clic droit - mais uniquement sur les images de la page
(oui je sais, ça ne sert à rien !)
(oui je sais, ça ne sert à rien !)Si les classiques scripts anti clic droit contribuent à réaliser cela, ils n'en sont pas moins mauvais car ils peuvent gêner un nombre certain d'internautes dans leur processus de navigation (perte de l'ergonomie et des facilités données par les menus contextuels de manière générale sur les pages visitées). L'astuce consiste donc à n'interdire le menu contextuel que sur les images ! J'avais déjà expliqué comment faire dans mon précédent article, mais cela ne répondait pas à deux éléments que le webmaster scrupuleux de la qualité de son code exige :
- le script ne doit pas modifier le code existant (doit s'appliquer à toutes les images, mais sans retouche à réaliser sur le code des galeries photo par exemple)
- les pages conformes W3C (jusqu'au XHTML 1.0 strict) doivent le rester !
Le script anti clic droit sur images
Simpliste s'il en est, il consiste à appliquer par une boucle en Javascript un code sur l'événement "OnContextMenu" de toutes les images de notre page. En clair, à chaque fois que dans notre navigateur, nous allons essayer d'afficher le menu contextuel sur une image (typiquement par un clic droit... ou par un autre moyen !), nous empêcheront ce dernier de s'afficher
Il suffit de copier le code qui suit dans un fichier texte, de le sauvegarder dans un fichier nommé
prot.js puis de le placer à la racine de votre site (ou tout du moins dans le répertoire des pages qui utiliseront ce script !)
// Retourne... rien !
function rien()
{
return false;
}
// Remplace l'événement "oncontextmenu" (typiquement un clic droit) sur toutes les balises IMG de la page
function prot()
{
var imgs = document.getElementsByTagName("img");
for(var i=0; i<imgs.length; i++)
imgs[i].oncontextmenu = rien;
}
Au niveau des pages web, il suffit d'en modifier l'entête de la manière suivante (ajouter les éléments en rouge) :
<html>
<head>
...
<script type="text/javascript" src="prot.js"></script>
</head>
<body onload="prot()">
...
</body>
</html>
Les limites
Elles existent, évidemment... Il existe plusieurs limites à cette technique, qui ne freinera d'ailleurs que les néophytes du web (entre les copies d'écran et l'analyse du code source que se permettent les autres !...) :- ne fonctionne que si le Javascript est activé sur le navigateur
- ne fonctionne pas si présence de certains scripts Javascript (HighSlide notamment, que j'utilise parfois sur ce blog) ; déconseillé car peut entrer en conflit avec ces derniers !
- ne fonctionne donc pas avec certaines galeries Javascript
- fonctionne uniquement sur les images affichées avec une balise HTML
img!







Hérisson et ver...
Lever de soleil
Vol de cormorans
Sphinx (nude cat)
Renard et jardin
Chat bombay 

fil rss
Commentaires sur [Astuce] Un anti clic droit uniquement sur les images
1. le 08/08/2008 à 15:08, par Ghusse
2. le 08/08/2008 à 15:15, par Le Zla
3. le 08/08/2008 à 15:16, par soky
4. le 08/08/2008 à 15:44, par Cédric Girard
5. le 08/08/2008 à 20:02, par Le Zla
6. le 08/08/2008 à 20:34, par Fabien Engels
7. le 09/08/2008 à 09:35, par Cédric Girard
8. le 15/08/2008 à 23:47, par soky
9. le 29/08/2008 à 16:26, par Cédric Girard
10. le 27/10/2008 à 06:07, par Daniel
11. le 27/10/2008 à 06:17, par Daniel
12. le 17/01/2009 à 21:01, par DJereMaster
13. le 18/01/2009 à 12:31, par Cédric Girard
14. le 24/01/2009 à 00:55, par Linuxien photophile
15. le 14/02/2009 à 05:28, par Daniel
16. le 14/02/2009 à 11:15, par Cédric Girard
17. le 28/04/2009 à 12:55, par aide juridique
18. le 05/05/2009 à 09:36, par Louloulina
19. le 05/05/2009 à 10:18, par Cédric Girard
20. le 14/05/2009 à 05:22, par Daniel
21. le 14/05/2009 à 09:27, par Cédric Girard
22. le 14/05/2009 à 18:43, par Daniel
23. le 15/05/2009 à 10:51, par Cédric Girard
24. le 17/05/2009 à 02:23, par Daniel
25. Liens sponsorisé
Ajouter un commentaire sur [Astuce] Un anti clic droit uniquement sur les images