Cristiano Larghi <c.larghi (AT) criosoftware (DOT) it> wrote:
Quote:
incuriosito ho provato con un setTimeout da 1 secondo, e funziona
correttamente ... con 1 ms invece no. Sembrerebbe che chrome abbia
bisogno che la popup sia caricata, altrimenti non si chiude. Però assegna
subito l'handle alla variabile con window.open, senza attendere...boh,
strano comportamento. |
strano davvero...
Anche qui con 1ms la tua soluzione non va, ma già da 500 ms (però forse
perché la pagina è in cache) va.
Metto sotto il codice con cui sto sperimentando.
Quote:
Se per te è accettabile mettigli un 5 secondi di attesa. |
sì, farò delle prove (qui da me carica tutto con 1ms, ma forse meglio
aumentare...)
Quote:
Altrimenti fai qualche prova, del tipo: prova a spostare la popup aperta,
così sei sicuro che sia stata aperta (in teoria), prima di chiamare il
close(). Non ho tempo per fare altre prove (e il mio pc-windows è più
vecchio di mio nonno e non è facile tenerlo acceso :-/ ) |
eh...

per le prove moltissimo tempo non ho: già devo provare 4-5 browsers
diversi, miii...
Allora,
ho provato così:
in head
---
<script type="text/javascript">
<!-- hide from older browsers
function aprichiudi(the_url) {
var browser = navigator.userAgent.toLowerCase();
if (browser.indexOf("chrome") != -1) {
window.open(the_url);
window.setTimeout("self.close();",
1000);
}
else {
var the_window = window.open(the_url);
self.close();
}
}
// show me -->
</script>
---
poi nel link:
<a href="./karma/index.html" target="_blank" title="Suo titolo"
onclick="aprichiudi('./karma/index.html'); return false;">Bel Titolo</a>
ho preferito la funzione, per poter fare meglio i test, e ho anche
preferito applicare il timeout solo a Chrome, lasciando gli altri
liberi...
--
UNIX Era, NeXT Generation
§salvomic©