Javascript: l'evento oncopy e il copyright
19/04/2012Sfruttando l'evento Javascript oncopy possiamo aggiungere un testo alla selezione che un utente può sempre fare sui contenuti di una pagina web.
Premesso che non esiste forma di protezione alcuna che garantisca al cento per cento la non riproducibilità di un contenuto pubblicato su web (ed è sospetto chi garantisce la salvaguardia di testi o immagini, per quanto sofisticata sia la codifica è pur sempre 'decifrabile', oggetti flash compresi), possiamo applicare questa forma di 'aggiunta' per far comparire in testa alla selezione effettuata un messaggio che sottolinei i diritti di copyright del contenuto appena prelevato.
Lo script va posto prima della chiusura del body, e deve specificare il div dentro cui sono inseriti i contenuti su cui evidenziare il copyright.
Nell'esempio lo script agirà quando viene selezionato un testo all'interno del div wrapper inserendo in testa alla selezione la frase La riproduzione o ripubblicazione di questo testo è vietata.
Ecco il codice:
<script type="text/javascript">
function addCopyright() {
var sl;
var be = document.getElementsByTagName('body')[0];
var pl = "La riproduzione o ripubblicazione di questo testo è vietata.";
if (window.getSelection) {
sl = window.getSelection();
var nd = document.createElement('div');
nd.style.position='absolute';
nd.style.left='-99999px';
be.appendChild(nd);
nd.innerHTML = pl+"<br /><br />"+sl.toString();
sl.selectAllChildren(nd);
window.setTimeout(function() {
be.removeChild(nd);
},0);
}
else {
if (document.selection.type == 'None') {
}
else {
var tr = document.selection.createRange();
if (window.clipboardData) { // Internet Explorer
window.clipboardData.setData ("Text", pl + "\r\n\r\n" + tr.text);
return false;
}
}
}
}
document.getElementById('wrapper').oncopy = addCopyright;
</script>