Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282

    blocco di alcuni tasti e del pulsante destro del mouse

    Ciao a tutti...
    come da ogetto chiedo un piccolo aiuto su come bloccare esattamente il tasto CTRL e il tasto destro del mouse per evitare la copia (CTRL+C).
    In effetti è un campo di testa Input.
    per inserire l'email e la verifca...per evitare che facciano il copia e incolla.

    grazie per l'aiuto
    Tony

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Non vorrei ricordare male, ma questo tipo di inibizione sull'swf sul web non sia fattibile. Potresti controllare quella combinazione di tasti facendo apparire una finestra in cui dici (come in windows) che i campi password non possono essere copia-incollati.

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ah, c'è anche la possibilità di gestire la clipboard modificandone il contenuto con System.setClipboard(stringa).

    Mentre per il tasto destro del mouse credo che non sia proprio possibile.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    grazie And

    ho forse rimediato...ma mi sa che ho bisogno del tuo aiuto....
    ho trovato in giro queso codice:
    Codice PHP:
    txMessage.addEventListener(TextEvent.TEXT_INPUTbloccotasto)//, false, 0, true);

    //txMessage.addEventListener (KeyboardEvent.KEY_DOWN, bloccotasto);

    function bloccotasto (event:TextEvent):void
    {
        
    // il codice per il tasto CTRL è 17 che nn funziona, ma il 10 equivale all'invio
        
    if (event.text.charCodeAt() == 10
        {
            
    event.preventDefault();
        }

    come ho spiegato nello script con il codice 10 l'invio è bloccato...ma se metto il corrispondente del CTRL non funziona...
    puoi fare qualcosa?
    grazie
    TOny

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Sei certo di averlo provato su browser e non sul prova filmato?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    si funziona sul browser (F12)

    comunque sono riuscito a risolvere in questo modo:

    Codice PHP:
    testo.addEventListener(KeyboardEvent.KEY_UPCTRLfalse0true);

    function 
    CTRL(evt:KeyboardEvent):void 
    {
            if (
    evt.keyCode ==17)
            {
            
    trace ("hai premuto il tasto CTRL")
            
    testo.text="";
            }


    ma mi è venuto un piccolo dubbio...per gli utenti di Mac? il copia e incolla come lo fanno? il codice qual'è?


    comunque per ora grazie
    ciao
    Tony

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    per il mouse invece?
    sto utilizzando queste righe di codice:

    Codice PHP:
    import flash.ui.ContextMenu;
        
    import flash.ui.ContextMenuItem;
        
    import flash.ui.ContextMenuBuiltInItems;
        
    import flash.events.ContextMenuEvent;
        
    import flash.events.ContextMenuEvent;


    testo.selectable false;
    var 
    menu:ContextMenu = new ContextMenu(); //start new context menu
    menu.hideBuiltInItems(); //disable menu


                
    var url:ContextMenuItem = new ContextMenuItem("Non puoi incollare l'email"); //URLs text

    var copyright:ContextMenuItem = new ContextMenuItem("Intestazione"); //Copyright rtext

    copyright.separatorBefore true//line separation

    menu.customItems.push(copyright,url); //push array
    copyright.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,function() { navigateToURL(new URLRequest("http://www....."), "_blank");}); //event listener for URL

    this.contextMenu menu//build context menu 
    dove testo è il mio text input dove inserisco l'eamil di verifica...
    ma lasciando al riga testo.selectable = false;
    in realtà non vedo piu' il cursore...
    come faccio ad eliminare la voce incolla o farla diventare grigia in modo da non riuscire a selezionarla?

    grazie
    TOny

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Dovresti inibire completamente il click destro, con uno script js, ma non mi pare una soluzione corretta per l'utente, come ti dicevo potresti impostare un controllo con enterframe quando il focus si trova su uno di quei campi e svuotare costantemente la clipboard finchè si rimane su quelli.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Ciao And e grazie ancora

    beh in realtà è un swf che importo con la classe Loader, quindi il tasto destro risulta bloccato solo in quel swf giusto?
    come si blocca con lo script Java? cioè come implemento Java in flash?

    oppure come faccio interagire sul focus? ci ho provato ma senza risultati...

    grazie ancora...
    Tony

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Per il javascript ho trovato diversi link su internet cercando con chiave "no right click flash", ma sinceramente è una soluzione che non mi piace.

    Per il focus, considera questo codice:
    Codice PHP:
    var s1:SimpleTextField = new SimpleTextField(this, Const.BASE_TEXT_FORMAT, {type:"input"x:10y:numChildren*20+10width:200height:15border:trueborderColor:0background:true});
    var 
    s2:SimpleTextField = new SimpleTextField(this, Const.BASE_TEXT_FORMAT, {type:"input"x:10y:numChildren*20+10width:200height:15border:trueborderColor:0background:true});
    var 
    s3:SimpleTextField = new SimpleTextField(this, Const.BASE_TEXT_FORMAT, {type:"input"x:10y:numChildren*20+10width:200height:15border:trueborderColor:0background:true});
    var 
    s4:SimpleTextField = new SimpleTextField(this, Const.BASE_TEXT_FORMAT, {type:"input"x:10y:numChildren*20+10width:200height:15border:trueborderColor:0background:true});
    s2.addEventListener(FocusEvent.FOCUS_INdeleteClipboard);
    s2.addEventListener(FocusEvent.FOCUS_OUTdeleteClipboard);
    s3.addEventListener(FocusEvent.FOCUS_INdeleteClipboard);
    s3.addEventListener(FocusEvent.FOCUS_OUTdeleteClipboard);
    function 
    deleteClipboard (evt:FocusEvent):void {
        
    System.setClipboard(" ");

    Ora, tralascia il fatto che uso quel "SimpleTextField" che è una mia classe che estende TextField e mi serve per gestire la creazione di un textfield in una riga, considera quei quattro TF come normali textfield e guarda il codice, praticamente sia quando entro in quei due clip che quando esco dai due, reimposto la clipboard svuotandola, con la conseguenza che anche se faccio il copia-e-incolla, non otterrò nulla da quei campi e non potrò copiare nulla in quei campi.
    Unito al controllo sulla combinazione CTRL+C e/o CTRL+V avrai il tuo inibitore sui quei campi.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.