Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Javascript]Disabil. tasto destro e modif. barra di stato

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[Javascript]Disabil. tasto destro e modif. barra di stato

Postdi daina » 04/03/04 23:28

salve !
sul mio nuovo sito ho riscontrato il seguente inconveniente;
non riesco a var coesistere nella stessa pagina questi 2 script:

-----------------------------------------------------------------------

<script language="JavaScript">
<!--
defaultStatus = "vide-on-line"
//-->
</script>

========================================

<script language="JavaScript">
function disable_right_click(e)
{
var browser = navigator.appName.substring ( 0, 9 );
var event_number = 0;
if (browser=="Microsoft")
event_number = event.button;
else if (browser=="Netscape")
event_number = e.which;

if ( event_number==2 || event_number==3 )
{
alert ( "video-on-line" );
return (false);
}

return (true);
}

function check_mousekey ()
{
var mouse_key = 93;
var keycode = event.keyCode;

if ( keycode == mouse_key )
alert ( ":-D" );
}

function trap_page_mouse_key_events ()
{
var browser = navigator.appName.substring ( 0, 9 );

document.onmousedown = disable_right_click;

if ( browser == "Microsoft" )
document.onkeydown = check_mousekey;
else if ( browser == "Netscape" )
document.captureEvents( Event.MOUSEDOWN );
}

window.onload = trap_page_mouse_key_events;
</script>
-------------------------------------------------------------------------------

qualcuno sa aiutarmi ?
in pratica uno script esclude l'altro..... :cry:
daina
Utente Junior
 
Post: 31
Iscritto il: 13/11/02 23:33

Sponsor
 

Postdi piercing » 05/03/04 01:11

puoi essere un pò più chiaro???????

chi esclude cosa????

ma a che serve tutta sta roba????????

tutto quello che è scritto si può fare con 5 righe invece di 50... (ammesso sempre che disabilitare il tasto destro serva a qualcosa)....
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi daina » 06/03/04 15:03

chiara....

allora, il primo script, come ho già scritto, esclude la funzione dell'altro script.
in pratica funziona solo una delle 2 funzioni...
o uno script disabilita il mouse o l'altro fa si che nella barra di stato si veda la scritta "video-on-line".
non funzionano assieme nella stessa pagina......
capito ?
daina
Utente Junior
 
Post: 31
Iscritto il: 13/11/02 23:33

Postdi Dylan666 » 06/03/04 16:23

Ho copiato pari pari quello che hai scritto, l'ho copiato in un TXT trasformato in HTML (non ho aggiunto nemmeno i tag <HTML>, <head> ecc) e l'ho provato nel mio Internet Explorer 6: FUNZIONA
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi daina » 06/03/04 17:24

è vero...
mio dio , chissà allora con cosa vanno in contrasto..... :eeh:
daina
Utente Junior
 
Post: 31
Iscritto il: 13/11/02 23:33

Postdi piercing » 06/03/04 17:35

daina ha scritto:mio dio , chissà allora con cosa vanno in contrasto..... :eeh:


beh se il javascript lo scrivi così ti andrà in contrasto per sempre tutto il ciborio ;-)

PS: netscape non esiste praticamente più... quindi è inutilissima quella funzione di intercettazione del browser... visto che tra l'altro neanche la gestisci...

Ti assicuro che per fare quello che vuoi bastano 5 righe...
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Dylan666 » 06/03/04 18:15

Codice: Seleziona tutto
<! compatibile solo con Internet Explorer -->
<SCRIPT LANGUAGE="JavaScript1.1">
function right(e) {
if (navigator.appName == 'Netscape' &&
(e.which == 3 || e.which == 2))
return false;
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("In questa pagina il tasto destro del tuo mouse è disabilitato!")
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
</SCRIPT>
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Frengo78 » 08/03/04 11:51

cmq davvero lascia perdere la gestione del right click perche é veramente odiosa.
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi Dylan666 » 08/03/04 13:19

Una volta che premi il tasto destro appare una finestra col messaggio vero? Beh, basta premere velocemente invio e di nuovo il tasto destro per neutralizzare l'effetto del javascript (così uno si risparmia la fatica di disattivarli dalle impostazione del browser...)
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi piercing » 08/03/04 15:17

dylan... pure te con sto netscape??? ;)
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Dylan666 » 08/03/04 15:25

Sinceramento ho provato a toglierlo, levando la parte di codice che lo riguardava (e cambiando l' if), solo che mi si impalla lo script. Probabilmente mi scordo qualche sciocchezza ma non mi va di perderci nemmeno un secondo :P
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 08/03/04 17:42

Boh, vallo a capire prima perché non funzionava...

Codice: Seleziona tutto
<! compatibile solo con Internet Explorer -->
<SCRIPT LANGUAGE="JavaScript1.1">
function right(e) {
if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("In questa pagina il tasto destro del tuo mouse è disabilitato!")
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
</SCRIPT>
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Possibile eliminare l'alert?

Postdi infinito1971 » 07/03/07 10:49

Ciao a tutti,
riprendo questo topic perché avendo necessità di disabilitare il tasto destro del mouse solo su un campo di una form html, ho utilizzato (a seguito di ricerca su Internet) proprio il metodo disable_right_click presente nel codice riportato in questa pagina...
Bene, ho provato allora ad eliminare il messaggio di alert... purtroppo, però, così facendo, il codice non funziona più!
Qualcuno sa se e come si può ovviare a questo inconveniente? Ho provato a cercare in rete la soluzione ma la mia ricerca non ha avuto esito positivo... :(
Grazie in anticipo.

Un saluto,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Spostamento topic

Postdi infinito1971 » 07/03/07 10:55

Una domanda ai moderatori: non sarebbe meglio spostare questo topic nella sezione Programmazione? :roll:

Bye,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Codice quasi funzionante

Postdi infinito1971 » 07/03/07 12:43

Ciao a tutti,
vi riporto di seguito il codice che sto provando (come pagina html) e che funziona quasi correttamente, non fosse che per il fatto che desidero la disattivazione del tasto destro del mouse solo nella casella di testo e non su tutto il documento e a nulla serve il codice scritto per l'evento onmouseup...
Spero che qualcuno mi aiuti a risolvere questo dannato problema...

Grazie,
infinito1971

Codice: Seleziona tutto
<html>
<head>
<script>
   function DisableRightClick(e)
   {
      var browser = navigator.appName.substring (0,9);
      var event_number = 0;

      this.oncontextmenu=false;

      if (browser=="Microsoft")
          event_number = event.button;
      else if (browser=="Netscape")
          event_number = e.which;

      if (event_number==2 || event_number==3)
          return false;

      return true;
   }

   function checkCtrlIns()
   {
      if (event.ctrlKey==1 || event.keyCode==45)
         return false;
      else
         return true;
   }

</script>
</head>
<body oncontextmenu="return false">
Testo:
<input type="text" property="Testo" onmousedown="return DisableRightClick();" onmouseup="document.oncontextmenu=new Function("return true;");" onkeydown="return checkCtrlIns()">
</body>
</html>
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Codice quasi funzionante 2

Postdi infinito1971 » 07/03/07 12:57

Nel ricopiare il codice precedente, ho commesso un errore; il codice da prendere in considerazione è quello riportato di seguito.
Confido in un vostro aiuto... ;)

Saluti,
infinito1971

Codice: Seleziona tutto
<html>
<head>
<script>
   function DisableRightClick(e)
   {
      var browser = navigator.appName.substring (0,9);
      var event_number = 0;

      document.oncontextmenu=new Function("return false;");

      if (browser=="Microsoft")
          event_number = event.button;
      else if (browser=="Netscape")
          event_number = e.which;

      if (event_number==2 || event_number==3)
          return false;

      return true;
   }

   function checkCtrlIns()
   {
      if (event.ctrlKey==1 || event.keyCode==45)
         return false;
      else
         return true;
   }

</script>
</head>
<body>
Testo:
<input type="text" property="Testo" onmousedown="return DisableRightClick();" onmouseup="document.oncontextmenu=new Function("return true;");" onkeydown="return checkCtrlIns()">
</body>
</html>
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Re: Possibile eliminare l'alert?

Postdi archimede » 08/03/07 08:46

infinito1971 ha scritto:riprendo questo topic perché avendo necessità di disabilitare il tasto destro del mouse solo su un campo di una form html...
Codice: Seleziona tutto
<html>
<body>
Testo:
<input type="text" property="Testo" oncontextmenu="return false;">
</body>
</html>
HTH.

Alessandro
archimede
Moderatore
 
Post: 2753
Iscritto il: 07/11/02 12:41
Località: Genova

Codice funzionante con IE e Firefox

Postdi infinito1971 » 08/03/07 11:32

Ciao Alessandro,
Eureka!!! :idea:
E' proprio il caso di dirlo! Grazie mille per l'aiuto!
Per quanto mi hai detto, sono riuscito a realizzare quanto desideravo: disabilitare la funzionalità incolla su di un campo che funzioni sia con IE che con Firefox!
Poiché credo che possa essere utile anche ad altri frequentatori del forum, riporto di seguito il codice completo.
Codice: Seleziona tutto
<html>
<head>
<script>
function checkCtrlKey(evt) {
       if(!evt) evt = event;
        var ctrl = (typeof evt.modifiers == "undefined") ? evt.ctrlKey : evt.modifiers & evt.CONTROL_MASK;
        var v = (typeof evt.which == "undefined") ? evt.keyCode == 86 : evt.which == 86;
        // If the control and ‘V’ keys are pressed at the same time
        if (ctrl && v)
        {
                this.value = "";
                return false;
        }
        return true;
}

</script>
</head>
<body>
Testo:
<input type="text" property="Testo" oncontextmenu="return false" onkeydown="return checkCtrlKey(event);">
</body>
</html>
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Re: Spostamento topic

Postdi Frengo78 » 11/03/07 03:35

infinito1971 ha scritto:Una domanda ai moderatori: non sarebbe meglio spostare questo topic nella sezione Programmazione? :roll:

Bye,
infinito1971

si, provvedo
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino


Torna a Programmazione


Topic correlati a "[Javascript]Disabil. tasto destro e modif. barra di stato":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti