Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    intercettare e bloccare i comandi dell'utente

    Ho fatto una popup ed all'interno della pagina ho messo il codice per intercettare i tasti della tastiera premuti dall'utente.

    Il mio problema è impedire che l'utente possa tornare indietro premendo il tasto backspace dalla tastiera, oppure che possa aggiornare la pagina.
    Ho intercettato la pressione di questi 2 tasti, il mio problema però ora è dare un istruzione in javascript che non faccia eseguire le azioni richieste.

    Come posso fare??? HELP PLEASE

    Poichè penso che può essere utile a molti vi allego il mio script così come è fino ad ora.
    /================================================== ======
    //Funzioni per gestire gli eventi dei tasti della tastiera
    //================================================== ======
    var abilitato=0;
    var strin="";
    function test(){
    //analizza se il browser e' compatibile con Javascript
    browserName=navigator.appName.charAt(0);
    browserVer=parseInt(navigator.appVersion);
    if (browserName=="M" && browserVer >= 3) abilitato=1;
    if (browserName=="N" && browserVer >= 3) abilitato=2;
    if (browserName=="N" && browserVer >= 4) abilitato=3;
    if (browserName=="M" && browserVer >= 4) abilitato=4;
    }
    function keyDown(e) {
    if (abilitato==3)
    {
    //var ns4=1;
    var nKey=e.which; var ieKey=0;
    var realkey = String.fromCharCode(e.which);
    //strin="Codice tasto in Netscape: "+nKey+". Premuto tasto "+realkey
    alert ("Non è possibile tornare indietro")
    }
    if (abilitato==4)
    {
    //var ns4=0;
    var ieKey=event.keyCode; var nKey=0;
    var realkey = String.fromCharCode(event.keyCode);
    //strin="Codice tasto in Explorer: " + ieKey+". Premuto tasto "+realkey
    if (ieKey==8)
    {
    alert ("Non è possibile tornare indietro")
    }
    if (ieKey==116)
    {
    alert ("Non è possibile aggiornare")
    }
    }
    //alert(strin)
    }
    document.onkeydown = keyDown
    //if (ns4) document.captureEvents(Event.KEYDOWN)
    //-->
    //================================================== ======
    //Fine Funzioni per gestire gli eventi dei tasti della tastiera
    //================================================== ======

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: intercettare e bloccare i comandi dell'utente

    Prova ad aggiungere:

    event.returnValue = false;
    event.keyCode = 0;

    dopo gli alert... ma a tuo carico i test per la compatibilita'

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Grazie, lo appena provato in explorer 6 e funzione!!!
    Mi sei stato molto utile!!!

  4. #4

    Re: Re: intercettare e bloccare i comandi dell'utente

    Originariamente inviato da br1
    Prova ad aggiungere:

    event.returnValue = false;
    event.keyCode = 0;

    dopo gli alert... ma a tuo carico i test per la compatibilita'

    ciao
    Ciao,
    ho provato ad aggiungere i due comandi javascript ma senza ottenere alcun risultato potresti dirmi precisamente dove vanno inseriti...???
    Il creatore di questo 3d ha scritto che è riuscito a far funzionare il tutto ma io non ci riesco...aiutatemiiiiiiiii vi prego!

    grazie mille in anticipo!

  5. #5

    aggiunta....

    ....un'altra cosa....

    come faccio a richiamare le funzioni javascript???? Scusate l'ignoranza ma sono un neofita di queste cose....

    GRazie ancora

    Alfredo

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <script>
    //=======================================
    //Funzioni per gestire gli eventi dei tasti della tastiera
    //=======================================
    var abilitato=0;
    var strin="";     
    
    function test(){
    //analizza se il browser e' compatibile con Javascript
    	browserName=navigator.appName.charAt(0);
    	browserVer=parseInt(navigator.appVersion);
    	if (browserName=="M" && browserVer >= 3) abilitato=1;
    	if (browserName=="N" && browserVer >= 3) abilitato=2;
    	if (browserName=="N" && browserVer >= 4) abilitato=3;
    	if (browserName=="M" && browserVer >= 4) abilitato=4;
    }
    
    function keyDown(e) {
            if (abilitato==3)
            {
    		//var ns4=1;
    		var nKey=e.which; var ieKey=0;
    		var realkey = String.fromCharCode(e.which);
    		//strin="Codice tasto in Netscape: "+nKey+". Premuto tasto "+realkey
    		alert ("Non è possibile tornare indietro")
    		event.returnValue = false; 
    		event.keyCode = 0; 
    	}
            if (abilitato==4)
            {
    		//var ns4=0;
    		var ieKey=event.keyCode; var nKey=0;
    		var realkey = String.fromCharCode(event.keyCode);
    		//strin="Codice tasto in Explorer: " + ieKey+". Premuto tasto "+realkey
    		if (ieKey==8)
    		{
    			alert ("Non è possibile tornare indietro")
    			event.returnValue = false; 
    			event.keyCode = 0; 
    		}
    		if (ieKey==116)
    		{
    			alert ("Non è possibile aggiornare")
    			event.returnValue = false; 
    			event.keyCode = 0; 
    		}
    	}
            //alert(strin)
    }
    
    document.onkeydown = keyDown
    //if (ns4) document.captureEvents(Event.KEYDOWN)
    //-->
    //=======================================
    //Fine Funzioni per gestire gli eventi dei tasti della tastiera
    //=======================================
    </script>
    Metti lo script prima del tag </head> ... non c'e' niente altro da fare.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Originariamente inviato da br1
    codice:
    <script>
    //=======================================
    //Funzioni per gestire gli eventi dei tasti della tastiera
    //=======================================
    var abilitato=0;
    var strin="";     
    
    function test(){
    //analizza se il browser e' compatibile con Javascript
    	browserName=navigator.appName.charAt(0);
    	browserVer=parseInt(navigator.appVersion);
    	if (browserName=="M" && browserVer >= 3) abilitato=1;
    	if (browserName=="N" && browserVer >= 3) abilitato=2;
    	if (browserName=="N" && browserVer >= 4) abilitato=3;
    	if (browserName=="M" && browserVer >= 4) abilitato=4;
    }
    
    function keyDown(e) {
            if (abilitato==3)
            {
    		//var ns4=1;
    		var nKey=e.which; var ieKey=0;
    		var realkey = String.fromCharCode(e.which);
    		//strin="Codice tasto in Netscape: "+nKey+". Premuto tasto "+realkey
    		alert ("Non è possibile tornare indietro")
    		event.returnValue = false; 
    		event.keyCode = 0; 
    	}
            if (abilitato==4)
            {
    		//var ns4=0;
    		var ieKey=event.keyCode; var nKey=0;
    		var realkey = String.fromCharCode(event.keyCode);
    		//strin="Codice tasto in Explorer: " + ieKey+". Premuto tasto "+realkey
    		if (ieKey==8)
    		{
    			alert ("Non è possibile tornare indietro")
    			event.returnValue = false; 
    			event.keyCode = 0; 
    		}
    		if (ieKey==116)
    		{
    			alert ("Non è possibile aggiornare")
    			event.returnValue = false; 
    			event.keyCode = 0; 
    		}
    	}
            //alert(strin)
    }
    
    document.onkeydown = keyDown
    //if (ns4) document.captureEvents(Event.KEYDOWN)
    //-->
    //=======================================
    //Fine Funzioni per gestire gli eventi dei tasti della tastiera
    //=======================================
    </script>
    Metti lo script prima del tag </head> ... non c'e' niente altro da fare.

    ciao
    io l'ho inserito prima del tag </HEAD> ma non mi fa proprio nulla! Se clicco su Refresh o su indietro ... mi funziona tutto normalmente e no mi blocca niente!!! Sbaglio qualcosa????

    Ciao

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Forse non hai letto l'argomento della discussione quando l'hai riesumata... qui si parla di comandi da tastiera , impedire all'utente di utilizzare i comandi di un programma (il browser) e' pratica illecita o quantomeno non gradita e off-limit in questo forum.

    Se proprio vuoi impedirlo usa una popup... almeno li l'utente sa che non puo' disporne se non dal menu contestuale.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Originariamente inviato da br1
    Forse non hai letto l'argomento della discussione quando l'hai riesumata... qui si parla di comandi da tastiera , impedire all'utente di utilizzare i comandi di un programma (il browser) e' pratica illecita o quantomeno non gradita e off-limit in questo forum.

    Se proprio vuoi impedirlo usa una popup... almeno li l'utente sa che non puo' disporne se non dal menu contestuale.

    ciao
    mi scuso per l'errore commesso.....io non ho solo cliccato sui pulsanti refresh e indietro ma ho anche eseguito da tastiera i 2 comandi! Il risultato è sempre lo stesso....cioè non mi fa niente!

    Alfredo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.