lunedì 11 novembre 2013

Internet Explorer evitare messaggio sul window.close()

Con questo javascript si riesce ad evitare che richiamando il window.close() sia chiesta conferma all'utente della volontà di chiudere la finestra.
Il messaggio di conferma viene richiesto perchè c'è solo una finestra di tipo parent, per cui si avvisa in quanto chiuderla significa praticamente chiudere il browser.
Per evitare il problema ho trovato qui un trucco utile.
La funzione window.open ha la seguente firma:
window.open(URL,name,specs,replace)
I valori di name possono essere:
    _blank - Il caricamento dell'URL avviene in una nuova finestra
    _parent - Il caricamento dell'URL avviene nel frame parent
    _self - Il caricamento dell'url rimpiazza l'url corrente
    _top - Il caricamento dell'url rimpiazza qualsiasi frameset caricato
    name - il nome della finestra
Si imbroglia IE aprendo una pagina vuota superiore nella stessa pagina e quindi richiudendola.
Il valore true nel parametro replace indica che sostituisce il valore nella history.
Il parametro specs, qui lasciato vuoto, serve a specificare eventuali caratteristiche grafiche della finestra.
Così:

var win=window.open("","_top","","true");
win.opener=true;
win.close(); 


Nessun commento:

Posta un commento