| WebMasters Online - Brasil http://www.webmastersonline.com.br/ |
|
| JavaScript : Não mostrar "Exibir codigo-fonte" http://www.webmastersonline.com.br/viewtopic.php?f=6&t=94 |
Página 1 de 1 |
| Autor: | rareal [ Sex Fev 16, 2007 12:38 am ] |
| Assunto do Tópico: | JavaScript : Não mostrar "Exibir codigo-fonte" |
Bem, me perguntam a rodo como é que faz para não exibir o código fonte de uma página. Pois bem, vamos a um script que irá desabilitar o "Exibir Código Fonte" do menu "Exibir" do Internet Explorer e desabilitar o botão direito do mouse. Vamos ao script : Código: <script language="JavaScript"> var specialcase = ((navigator.userAgent.indexOf('Mac') != -1) || document.all) var flag = 0; var msg = 'Botão direito desabilitado.\nNão copie.'; var x,y,x1,y1,copyAttempt; function init() { if (!(document.getElementById || document.all || document.layers)) return; if (specialcase && document.layers) { document.captureEvents(Event.MOUSEMOVE); document.onmousemove = special; } for (i=0;i<document.images.length;i++) { document.images[i].onmousedown = checkIt; document.images[i].onmouseup = function() {return false}; if (specialcase) { document.images[i].onmousemove = special; document.images[i].onclick = clearIt; } } } function checkIt(e) { copyAttempt = 0; if (window.Event) { x = e.screenX; y = e.screenY; theButt = (e.which == 3); } else { x = window.event.clientX; y = window.event.clientY; theButt = (window.event.button == 2); } if (theButt) { copyAttempt = 1; flag = 0; alert(msg); return false; // NN4 only } if (specialcase) flag = 1; return false; } function special(e) { theObj = ''; if (window.Event) { x1 = e.screenX; y1 = e.screenY; if (e.target.parentNode) theObj = e.target.parentNode.tagName; } else { x1 = window.event.clientX; y1 = window.event.clientY; theObj = window.event.srcElement.parentElement.tagName; } var isLink = (theObj == 'A'); if (flag && (!isLink || ((Math.abs(x-x1) > 10) || (Math.abs(y-y1) > 10)))) { copyAttempt = 1; flag = 0; alert(msg); return false; } } function clearIt() { flag = 0; if (copyAttempt) { copyAttempt = 0; return false; } } </script> Com o script feito, basta chama-lo no carregamento da página (falha número1 : se sua página demorar para abrir, é possível - mesmo sendo difícil- que em uma fração de segundos o usuário possa cancelar o carregamento da página e ver o código fonte, pois o corpo do HTML ainda não carregou) : Código: <BODY onLoad="init()"> Se a sua intensão é proteger gente de copiar imagens da sua página (outra grande besteira, pois um simples Print Screen destroi seu esquema), o IE6 agora mostra uma simpática barra de ferramentas com algumas opções como salvar ao parar o mouse sobre uma imagem. Para evitar isso você vai precisa de um cabeçalho META (lembre-se : entre as tags <HEAD></HEAD> da sua página) : Código: <META HTTP-EQUIV="imagetoolbar" CONTENT="no">
Bem, tudo isso pra mim é uma besteira, pois como disse sempre vai existir alguém que quebre esse sistema. Tudo o que foi feito aqui foi dificultar o acesso, mas não é infalível. E ainda por cima, não há nada mais irritante do que você estar navegando, ver um link em uma página e não querer fechá-la, então você clica no link com o botão direito para "Abrir link em uma nova janela..." e ...o mouse tá com o botão direito desabilitado... Saco... Fonte: Lula.PRO |
|
| Página 1 de 1 | Todos os Horários estão como UTC - 3 horas |