2011-04-17 11 views
5

¿Cómo evito que el usuario copie texto en la página asp.net usando jQuery?para evitar que el usuario copie el texto usando jQuery?

+6

Hombre, esto es tan malo como "sin clic derecho". Por favor, salve a todos el problema y simplemente no lo haga. Todo lo que estás haciendo es castigar a tus usuarios. –

+0

No importa si la página fue analizada por asp.net u otros lenguajes del lado del servidor, siempre son html (si son páginas web normales). –

+0

, ja, ja, ja , realmente odio eso también, pero mi cliente lo quiere así. – HAJJAJ

Respuesta

9

puede deshabilitar el botón derecho del ratón y también se unen keyup evento en el documento para detectar comando de copia combinación de teclas "Ctrl + C" y volviendo falsa .

Para desactivar el botón derecho del ratón:

jQuery(document).bind("contextmenu", function(e) { 
e.preventDefault(); 
}); 

Para detectar Ctl + C:

jQuery(document).ready(function() 
{ 
    var ctlPressed = false; //Flag to check if pressed the CTL key 
    var ctl = 17; //Key code for Ctl Key 
    var c = 67; //Key code for "c" key 

    jQuery(document).keydown(function(e) 
    { 
     if (e.keyCode == ctl) 
      ctlPressed = true; 
    }).keyup(function(e) 
    { 
     if (e.keyCode == ctl) 
      ctlPressed = false; 
    }); 

    jQuery(".your-no-copy-area").keydown(function(e) 
    { 
     if (ctlPressed && e.keyCode == c) 
      return false; 
    }); 
}); 
1

Watermark es su solución. Puedo desactivar Javascript fácilmente.

+1

Y si es texto, entonces, uh ... estás jodido. –

+0

¡La marca de agua es buena, pero no funcionará con carácter árabe! – HAJJAJ

+0

Sí, y convierta su texto en una imagen y hará que sus usuarios ciegos ya no visiten su sitio web (con lectores de pantalla, ya que los lectores de pantalla no tienen la manera de interpretar la imagen, y mucho menos si es un párrafo o no) –

1

Esto se hace generalmente mal visto, pero si usted tiene que hacer en, here is a plugin

+0

mmm, este se ve rejilla voy a intentarlo ahora. gracias. – HAJJAJ

1

así que utilicé un montón de códigos para hacer esto como:

1-para desactivar la derecha haga clic en:

<script src="js/jquery.min.js" type="text/javascript"></script>  
<script type="text/javascript" language="javascript"> 
    $(function() { 
     $(this).bind("contextmenu", function (e) { 
      e.preventDefault(); 
      alert("Copy is not allowed"); 
     }); 
    });  
</script> 

Selección 2-disable

<script type="text/javascript"> 

    /*********************************************** 
    * Disable Text Selection script- © Dynamic Drive DHTML code library (www.dynamicdrive.com) 
    * This notice MUST stay intact for legal use 
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code 
    ***********************************************/ 

    function disableSelection(target) { 
     if (typeof target.onselectstart != "undefined") //IE route 
      target.onselectstart = function() { return false } 
     else if (typeof target.style.MozUserSelect != "undefined") //Firefox route 
      target.style.MozUserSelect = "none" 
     else //All other route (ie: Opera) 
      target.onmousedown = function() { return false } 
     target.style.cursor = "default" 
    } 

    //Sample usages 
    //disableSelection(document.body) //Disable text selection on entire body 
    //disableSelection(document.getElementById("mydiv")) //Disable text selection on element with id="mydiv" 

var alltables = document.getElementsByTagName ("mesa") for (var i = 0; i < alltables.length; i ++) disableSelection (alltables [i]) // selección de texto dentro de desactivar todas las tablas en la página

3-añadí los que al final de la etiqueta del cuerpo

<script type="text/javascript"> 
    var somediv = document.getElementById("page-wrap") 
    disableSelection(somediv) //disable text selection within DIV with id="page-wrap" 
    </script> 
<script type="text/javascript"> 
    disableSelection(document.body) //disable text selection on entire body of page 
</script> 

ahora todo se hace .. ...

gracias muchachos, eso fue realmente muy útil.

Cuestiones relacionadas