2011-04-17 9 views
5

come faccio a impedire all'utente di copiare qualsiasi testo nella pagina asp.net utilizzando jQuery?impedisce all'utente di copiare il testo usando jQuery?

+6

Man, questo è male come "no click-destro". Per favore, salva tutti i problemi e non farlo. Tutto quello che stai facendo è punire i tuoi utenti. –

+0

Non importa se la pagina è stata analizzata da asp.net o altri linguaggi sul lato server, sono sempre html (se si tratta di pagine Web normali). –

+0

ha ha ha ha anche io lo odio, ma il mio cliente lo desidera in questo modo !!! – HAJJAJ

risposta

9

È possibile disattivare il tasto destro del mouse e anche legare keyup evento sul documento per rilevare comando di copia combinazione di tasti "Ctl + C" e di ritorno falso .

Per disabilitare tasto destro del mouse:

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

Per rilevare 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

La filigrana è la soluzione. Posso disabilitare facilmente Javascript.

+1

E se è un testo, allora, beh ... sei fregato. –

+0

La filigrana è buona, ma non funzionerà con caratteri arabi !! – HAJJAJ

+0

Sì, e trasforma il tuo testo in un'immagine e renderai i tuoi utenti non vedenti più non visitare il tuo sito web (con screen reader, poiché gli screen reader non hanno il modo di interpretare l'immagine, figuriamoci se si tratta di un paragrafo o meno). –

1

Questo di solito è visto di buon occhio, ma se si deve fare, here is a plugin

+0

mmm, questo sembra grata lo proverò ora. grazie. – HAJJAJ

1

così ho usato un sacco di codici per rendere questo tipo:

1-per disabilitare destra clic:

<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> 

Selezione 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 ("tavola") for (var i = 0; i < alltables.length; i ++) disableSelection (alltables [i]) // selezione del testo disabilitazione all'interno di tutte le tabelle sulla pagina

3-ho aggiunto quelli alla fine del tag body

<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> 

ora tutto fatto .. ...

grazie ragazzi, è stato davvero molto utile.

Problemi correlati