Activation de la sélection de texte bloqué à l'aide de JavaScript
Je suis récemment tombé sur un site web aux personnes handicapées de la sélection de texteempêchant quiconque de facilement copier et coller du texte. J'ai un bookmarklet qui désactive semblables tentatives pour bloquer les menus de contexte à l'aide de JavaScript, et je me demandais si il serait possible de faire quelque chose de similaire pour la sélection de texte.
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //For IE
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //For Firefox
target.style.MozUserSelect="none"
else //All other route (For Opera)
target.onmousedown=function(){return false}
target.style.cursor = "default"
}
Ailleurs la fonction est appelée avec disableSelection(document.body)
.
La solution de mon menu contextuel bookmarklet est aussi probablement nécessaire:
javascript:void(document.onmousedown=null);
void(document.onclick=null);
void(document.oncontextmenu=null)
Enfin, j'avais vu ailleurs sur StackOverflow CSS pourrait également être utilisé:
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
Est-il une méthode pour lutter tout à la fois et mettre fin à cette tyrannie sur mon navigateur? Comment aurais-je à la fois permettre MozUserSelect
/SelectStart
pour tous les éléments et définir les propriétés CSS?
source d'informationauteur Patrick
Vous devez vous connecter pour publier un commentaire.
A couru dans le même problème sur une mauvaise application web que je dois utiliser au quotidien dans leur travail.
Essayé d'écrire ma propre bookmarklet qui serait overwride
onselectstart
gestionnaire d'événements, mais il ne fonctionne pas, apparemment à cause des règles CSS qui a dû être modifié.Puis j'ai trouvé le Permettre à Tous de la Sélection de Texte bookmarklet par Alan Hogan qui a résolu le problème pour moi. Le seul problème avec le bookmarklet, c'est qu'il ne gère pas les frames/iframes.
Comme un bonus supplémentaire, il permet également au droit de la souris-cliquez sur l'événement sur les pages de ce bloc.
Créer un signet (par exemple, en faisant glisser l'icône à gauche de l'URL pour la page de votre barre de favoris), cliquez à droite et sélectionnez Modifierrenommer à quelque chose de significatif, et insérez le code suivant dans le champ URL:
Il a des limites dans la mesure où il n'est pas d'aller travailler à l'intérieur de structures imbriquées.
..btw, pour faire le bookmarklet code lisible, j'ai utilisé le Bookmarkelt Constructeur de http://subsimple.com/bookmarklets/jsbuilder.htm - il suffit de coller le minifiés bookmarklet de texte et cliquez sur le bouton Format; cet outil m'a sauvé beaucoup de temps.
Eu le même problème avec un site web.
CSS ne peut pas résoudre ce problème en Javascript entre en jeu chaque fois que vous essayez
pour sélectionner le texte.
Il y a deux façons de résoudre ce
1) Désactiver le Javascript sur votre navigateur web.
Check this out pour référence.
http://browsers.about.com/od/googlechrome/ss/disable-javascript-chrome-windows.htm
2) Ouvrir la console javascript. Je suis en utilisant google chrome (cliquez sur maj+commande+C sur Mac, la touche f12 sur Ubuntu et Windows)
copiez ce code
document.body.onselectstart = function() {return true;};
et de le coller dans la console et appuyez sur entrée.
D'accord avec jfriend00. Il est bon d'éviter les problème de site web. Sauf si c'est vraiment nécessairement stock sur le site... Alors vous pourriez envisager d'essayer ceci:
Désactiver le navigateur Java Script pour le problème de site web pourrait fonctionner aussi.
http://browsers.about.com/od/googlechrome/ss/disable-javascript-chrome-windows.htm
Sites Web peuvent toujours trouver des moyens d'être désagréable. Tout ce qu'ils ont à faire est de mettre les images transparentes sur les choses ou mettre du texte sur les images et vous serez ralenti un peu.
Renoncer à vous en soucier. Firefox 4+ vous donne le contrôle sur le bouton droit, cliquez à nouveau les applications ne pouvez pas arracher le loin de vous. Si vous pensez qu'un site est que désagréable, puis cesser de l'utiliser et de soutenir un autre site qui n'est pas que désagréable ou arrêter d'essayer de prendre les choses ils ne veulent pas que vous prenez. À moins que la page est tout construit dynamiquement à partir de JS, vous pouvez toujours obtenir le texte de la source de la page. Je dis que vous devez cesser d'utiliser des sites qui vous agacent. Si tout le monde faisait ça, ils auraient à changer leurs façons de faire.
Vu la même ennuyeux js et plus sur un autre site:
Noter que tous les gestionnaires d'événements sont soit attachée à
document
manuellement etdisableSelection(document.body)
. Ainsi, le script référencé par @alan-h qui permet à des événements de la souris doit également être mis à jour pour fonctionner sur le document et le document.corps. (re:el.onselectstart = el.ondragstart = el.ondrag = el.oncontextmenu = el.onmousedown = el.onmouseup = function(){return true};
)