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

    Problema window.close() al click su un button

    Buongiorno a tutti

    Nella mia pagina html ho un button a cui ho agganciato il window.close() al click per chiudere il tab del browser corrente. Il problema è che sembra che con le ultime versioni di Chrome non funzioni più.
    In console ho il seguente messaggio: Scripts may not close windows that were not opened by script

    Come posso risolvere?
    Grazie mille e buona giornata

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    20,012
    Prova con:

    self.opener=self;self.close()
    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
    codice:
                    <button onclick="self.opener=self;self.close()" >
                                   <span>Close</span>
                                </button>
    così non funziona su chrome...stesso errore di sopra....altre soluzioni?

  4. #4
    Anche utilizzando jquery la musica non cambia:

    codice:
        jQuery('#closeWindow').click(function (e) {
            e.preventDefault();
    
    
            self.opener = self;
            self.close();
        });
    Scripts may close only the windows that were opened by it

    Aiutatemi, sto impazzendo!

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    20,012
    Se chiudi la finestra perdi la possibilita' di percorrere all'indietro la history, quindi impedisci all'utente di tornare alle pagine visitate precedentemente.
    Ben vengano i browser che, riconoscendo la modalita' di apertura della finestra corrente, ne impediscono la chiusura secondo i desideri dell'ultimo webmaster.
    Se hai l'esigenza di chiudere la finestra al termine della visita del tuo utente ma incappi in questo caso valuta la possibilita' di reindirizzarlo verso, che so, una pagina promozionale o valuta l'utilizzo del metodo location.replace()
    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

  6. #6
    Quote Originariamente inviata da br1 Visualizza il messaggio
    Se chiudi la finestra perdi la possibilita' di percorrere all'indietro la history, quindi impedisci all'utente di tornare alle pagine visitate precedentemente.
    Ben vengano i browser che, riconoscendo la modalita' di apertura della finestra corrente, ne impediscono la chiusura secondo i desideri dell'ultimo webmaster.
    Se hai l'esigenza di chiudere la finestra al termine della visita del tuo utente ma incappi in questo caso valuta la possibilita' di reindirizzarlo verso, che so, una pagina promozionale o valuta l'utilizzo del metodo location.replace()

    Sono d'accordissimo con te....dal punto di vista della UX è molto invadente e sarebbe molto meglio il redirect....purtroppo però il mio product owner non la pensa allo stesso modo e mi occorre cercare di risolvere il problema tecnico.... ti spiego brevemente la situazione: da un'applicazione desktop l'utente può creare un account su Stripe. Viene generato un link al volo che rimanda sul portale per terminare la registrazione. Quando il wizard di creazione su Stripe è terminato ed è andato tutto a buon fine si atterra su una nostra pagina di "cortesia" che deve prevedere la chiusura con un bottone. Dai "piani alti" non si smuovono...purtroppo devo assecondarli

  7. #7
    Moderatore di XHTML e HTML L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    19,288
    per questioni di sicurezza del client i browser evoluti inibiscono questa pratica.
    "il capo" può chiedere all'infinito di mettere quell'azione, ma è una richiesta inadeguata che costringe te a cercare una soluzione che viola le procedure che proteggono gli utenti.
    dovete trovare una soluzione diversa.

  8. #8
    Ok. Ho provato a chiamare una webApi lato server per cercare di cambiare view e chiudere la finestra ma non ci sono riuscito. Pare che non ci sia alcuna possibilità di farlo. Dovrei aver convinto il "capo" dell'impossibilità tecnica della cosa. Grazie a tutti per le info utili che mi avete dato.

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,147
    in ufficio anche il capo di un altro gruppo voleva sta cosa
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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