12
votes

Comment réactiver le menu contextuel dans ce cas?

document.addEventListener('contextmenu', function (e) {
    e.preventDefault()
    e.stopPropagation()
    e.returnValue = false
    e.cancleBubble = true
})
No way?Edit: document.oncontextmenu = null does not work.P.S. I cannot have the reference of the listener function since I am not the owner of the site preventing the context menu.

3 commentaires

Qu'entendez-vous par «éthique»?


Les sites qui désactivent délibérément le menu contextuel méritent de faire supprimer leurs scripts ou non couru, à mon avis. (J'utilise Noscript.) Je navigue souvent en cliquant avec le bouton droit de la souris et en sélectionnant le dos ou l'avant. Il n'y a rien de contraire à l'éthique de vouloir que le menu contextuel fonctionne. L'auteur du site le désactive en premier lieu est stupide.


Avez-vous essayé document.onContexTMenu = null; ?


3 Réponses :


0
votes

plutôt que désactiver le menu contextuel, pourquoi n'identifiez-vous pas l'événement de clic droit?

http://abeautifysite.net/2008/05/JQUERY- click-plugin /


2 commentaires

Je ne suis pas celui qui désactive le menu contextuel. Certains sites désactivent-le, et je veux le casser.


Oh, tu veux dire comme un script greasemonkey ou quelque chose?



4
votes

Si vous êtes vraiment strong> désespéré, essayez d'ajouter ceci avant le AddeventListener code> est appelé. Cela fonctionne à la fois de FF et de Chrome. Je n'ai rien vérifié d'autre.

document.superListener = document.addEventListener;
document.addEventListener = function(type, listener, useCapture){
    if(type != 'contextmenu')
        document.superListener(type, listener, !!useCapture);
};


1 commentaires

Merci pour votre réponse. Il semble qu'il soit impossible de réactiver le menu contextuel "après" l'appel ...



22
votes

J'utilise mon bookmarklet dans de tels cas: xxx


1 commentaires

Celui-ci a bien fonctionné. Il suffit de limiter les options à «contextuelmenu».