Più controllo sulle tab aperte dall'applicazione

Ho scritto anche nel forum ma lo riporto pure qui per magari iniziare a fare una piccola raccolta di tips per svolgere alcune funzioni utili.

Ogni tanto capita di usare la openDocument(), che non è altro che window.open() di JS
La funzione mappata standard passa sostanzialmente solo l’URL da aprire, in modalità popup fissa.

Mi sono capitati casi in cui dovevo aprire più tab del browser senza che interferissero tra di loro oppure chiudere una tab poco dopo averla aperta (es chiamare un protocollo gestito poi da Windows, che ne so SKYPE: o TEL: etc) altrimenti resterebbe aperta una tab vuota.

Ebbene, come già detto essendo la openDocument() nient’altro che una mappatura di window.open() basta semplicemente farsi una riga di JS da richiamare con executeOnClient() o mapparsi direttamente la funzione.

window.open('url','nomeTab','popup');

Ad esempio se si vuole aprire una specifica tab in modo da riutilizzare sempre quella si può passare l’argomento “nome”, tutte le successive chiamate se trovano quella specifica tab aperta la riutilizzano senza toccare eventuali tab aperte.
Allo stesso modo è possibile passando un diverso nome ogni volta aprire sempre una tab diversa.

Se invece si necessita che la tab venga chiusa in automatico, la window.open() restituisce la tab appena aperta, che può essere messa in una variabile e riutilizzata con un timeout per chiuderla, ad esempio:

var miaTab=window.open('url','nomeTab','popup');
setTimeout(function() { miaTab.close(); }, 5000);

Chiuderà la tab dopo 5 secondi (5000 millisecondi)

9 Mi Piace

@d.termini condividere le cose qui in Community è sempre un’ottima cosa visto che abbiamo le categorie e i tag, con un ottimo sistema di ricerca.

Grazie!

1 Mi Piace