Newsgroup: it.comp.lang.javascript
Titolo: Non riesco a dare il focus ad una finestra

Ho una finestra che viene aperta con un banale <a href="pagina.html" 
target="dettaglio">, che essendo aperta da un click dell'utente su un 
link, mi sarei aspettato andasse in primo piano. Invece, se giï¿œ esiste 
una finestra di nome "dettaglio" (ovvero, se il link viene aperto in una 
finestra/scheda giï¿œ esistente), la pagina viene aperta, ma non passa in 
primo piano.
Trovo la cosa abbastanza spiacevole, e volevo rimediare con uno script.
Ho provato ad inserire all'interno dell'head
<script language="JavaScript" type="text/javascript" >self.focus();</script>
Niente.
Ho provato a sostituire self.focus(); con windows.focus();
Ancora niente da fare.
Ho provato ad inserire
<body onload="javascript:self.focus();">
Stesso risultato.
Ma non ï¿œ proprio possibile mettere in primo piano la finestra aperta da 
un link html? O sbaglio io qualcosa?
Grazie
Marco

 Grazie
Prego.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 puoi anche rimuovere "language", ï¿œ deprecated.
Ok, quindi
<script type="text/javascript">
(lo ignoravo)
Grazie della risposta
Marco

 Sï¿œ, cosï¿œ funziona...
Mi correggo... <a 
href="javascript:window.open('pagina.html','dettaglio').focus();">prova</a> 
funziona solo se una finestra di nome dettaglio non esiste o esiste in 
un'altra finestra del browser, ma non se esiste come altro tag della 
stessa finestra.


Quindi ï¿œ meglio
<a 
href="javascript:window.open('pagina.html','dettaglio','scrollbars=yes,resizable=yes,status=yes,location=yes,toolbar=yes').focus();">prova</a>
In questo modo la pagina viene correttamente aperta in una nuova 
finestra, e non in un nuovo tag.

 Grazie della risposta
De nada.


 href="javascript:window.open('pagina.html','dettaglio','scrollbars=yes,resizable=yes,status=yes,location=yes,toolbar=yes').focus();">prova</a>
Continuo a supporre che per "tag" tu intenda "tab".
Se come dici tu, esiste un altro "tab" della stessa finestra, che ha
sempre "dettaglio" come "name", non importa il codice che scrivi. Il
documento verrï¿œ sempre caricato in quella tab.
Quindi per intederci, se l'utente aprire quel link in una nuova tab,
tutte le "chiamate" successive che farai (da link o da js) che vanno
a caricare in nuovo documento in "dettaglio", lo faranno nella tab.
E, giusto per essere chiari, non c'ï¿œ modo di evitare questo: come si
dice, "la libertï¿œ degli utenti ï¿œ imprescindibile".
Ti avviso perchï¿œ mi sembra che tu abbia profuso un po' di sforzi nel
voler evitare ciï¿œ, e non vorrei quindi che tu dessi per scontato che
non possa accadere una cosa del genere, impostando il design del tuo
codice di conseguenza.


 dice, "la libertï¿œ degli utenti ï¿œ imprescindibile".
No, non solo non volevo evitare questo, ma ï¿œ proprio quello che voglio: 
una finestra per aprire le pagine "normali", e un'altra dove 
visualizzare le immagini ingrandite.
Mi scocciava solo la faccenda del focus, ma con window.open 
effettivamente funziona, e il risultato mi sembra accettabile.
 > Il motori di oggi sono piï¿œ intelligenti di quelli di
 > un tempo.
 > Puoi comunque fare qualcosa tipo:
 >
 > <a href="pagina.html" onclick="window.open(this.href,
 > 'dettaglio').focus(); return false">link</a>
 >
 > Mi raccomando il "return false".
A cosa serve il return false?

 A cosa serve il return false?
A evitare che il browser esegua l'azione di default, che nel caso del
click su tag ï¿œ l'apertura della pagina specificata nell'href.
Senza, avresti prima aperto una nuova finestra caricando pagina.html,
e immediatamente dopo l'avresti aperta anche nella finestra corrente.


 e immediatamente dopo l'avresti aperta anche nella finestra corrente.
Ok, grazie. Quindi, con <a href="javascript:window.focus ecc. non serve, 
ovviamente (l'azione di default ï¿œ giï¿œ javascript:ecc.).







Non serve, ma cosï¿œ hai il problema dell'indicizzazione da parte dei
motori di ricerca. Inoltre lo pseudo-protocollo andrebbe evitato in
favore degli event-handler, laddove possibile.
L'href andrebbe usato per fare collegamenti ipertestuali. E inoltre
si puï¿œ approfittare di questo meccanismo per dare un'esperienza piï¿œ
"amichevole" e flessibile all'utente stesso; o per ridirezionarlo a
una pagina in cui si avverte che per quel genere di operazione deve
abilitare javascript; e cosï¿œ via...
