grazie per l'aiuto
salvo
--
UNIX Era, NeXT Generation
�salvomic�
> Ho una finestra aperta come popup che dovrebbe aprirne un'altra e
> chiudersi.
> Ho messo questo codice:
> [CODE]
> <a href="./karma/index.html" target="_blank" title="Finestra 2 da
> aprire" onclick="location.href='./karma/index.html';
> self.close();">
per aprire una popup usa window.open, non window.location.href (target è
ultradeprecato):
https://developer.mozilla.org/En/DOM:window.open
(diventerebbe quindi un qualcosa del tipo
onclick="var mywin=window.open .... ; window.close();return false"
)
>
> per aprire una popup usa window.open, non window.location.href (target �
> ultradeprecato):
> https://developer.mozilla.org/En/DOM:window.open
> (diventerebbe quindi un qualcosa del tipo
> onclick="var mywin=window.open .... ; window.close();return false"
> )
perfetto!
cos� funziona.
E dire che questa prova (sicuramente sbagliando) pensavo di averla
fatta...
Il target lo so che � deprecated, ma mi serve per i vecchi browser senza
javascript.
ciao,
grazie
> perfetto!
> cos� funziona.
ovvero, funziona ora in Safari, Firefox, Internet EXplorer 7 e 8, ma
Chrome non chiude la finestra (self).
Suggerimenti?
Il codice che ora funziona �
[CODE]
<a href="./karma/index.html" target="_blank" title="Titolo" onclick="var
mywin = window.open('./karma/index.html','bogus_titolo'); self.close();
return false;">Titolo Link</a>
[/CODE]
ciao
> ovvero, funziona ora in Safari, Firefox, Internet EXplorer 7 e 8, ma
> Chrome non chiude la finestra (self). Suggerimenti?
io non ti ho scritto "self" ...
> io non ti ho scritto "self" ...
non funziona neppure con "window": contrariamente agli altri, apre il
nuovo popup, ma lascia il vecchio aperto.
Preciso: sia self, sia "window" funzionano da soli: self.close()
funziona anche su Chrome, ma non il mio codice che apre un nuovo popup,
chiude il precedente...
> non funziona neppure con "window": contrariamente agli altri, apre il
> nuovo popup, ma lascia il vecchio aperto. Preciso: sia self, sia
> "window" funzionano da soli: self.close() funziona anche su Chrome, ma
> non il mio codice che apre un nuovo popup, chiude il precedente...
strano
posta il codice incriminato.
> posta il codice incriminato.
gi� fatto :-)
<a href="./karma/index.html" target="_blank" title="Titolo" onclick="var
mywin = window.open('./karma/index.html','new_finestra'); self.close();
return false;">Titolo Link</a>
oppure
<a href="./karma/index.html" target="_blank" title="Titolo" onclick="var
mywin = window.open('./karma/index.html','new_finestra');
window.close();
return false;">Titolo Link</a>
Funziona in tutti, ma in Chrome non chiude il popup A (a sua volta
aperto con window.open...), quello che apre B
> <a href="./karma/index.html" target="_blank" title="Titolo" onclick="var
> mywin = window.open('./karma/index.html','new_finestra');
> window.close();
> return false;">Titolo Link</a>
prova a togliere il target, sia mai ...
prova anche a mettere un setTimeout('window.close()',1); (al posto di
window.close())
per il resto:
ho scoperto or ora che chrome non esiste (ancora?) per linux ... sorry,
non posso testarlo, sentiamo gli altri.
> prova a togliere il target, sia mai ...
> prova anche a mettere un setTimeout('window.close()',1); (al posto di
> window.close())
provato: in entrambi i casi non cambia.
SAr� un problema di Chrome.
>
> per il resto:
> ho scoperto or ora che chrome non esiste (ancora?) per linux ... sorry,
> non posso testarlo, sentiamo gli altri.
non c'� neppure (ufficialmente) per Mac :)
lo sto provando su Windows, infatti...
per� � strano: perch� self.close() da solo lo esegue e qui in
combinazione no (mentre tutti gli altri s�)?
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
> usa window.open per aprire la seconda wind.
uso gi� quello.
> nella seconda wind. usa window.opener.close()
> che ti dovrebbe chiudere la prima wind.
per com'� il progetto � preferibile che sia la prima window a chiudersi
subito dopo aver aperto B... (la seconda non � neppure un popup, ma un
sito, e meglio non toccarlo), e comunque vorrei capire (sapere) perch�
tutto funziona con gli altri browser e non con Chrome: � un problema di
Chrome?
grazie, ciao
>> prova a togliere il target, sia mai ... prova anche a mettere un
>> setTimeout('window.close()',1); (al posto di window.close())
>
> provato: in entrambi i casi non cambia. SArà un problema di Chrome.
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.
Se per te è accettabile mettigli un 5 secondi di attesa.
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 :-/ )
> 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.
>
> 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...)
>
> 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ïŋ―