La situazione e' comunque migliore rispetto a firefox 2 per due ragioni fondamentali: in primo luogo la barra di google (ammesso che fosse lei) non interferisce piu' con le autenticazioni e quindi la partenza del programma e' molto piu' rapida e soprattutto non escono finestre di autenticazione strampalate, cioe' con campi e bottoni di dimensioni strane, spesso minuscole per cui esce una finestra "nana" che e' impossibile far sparire perche' non presenta, appunto, ne' campi di immissione ne' bottoni utilizzabili (occorre il kill del processo); in secondo luogo le finestre di richiesta autenticazione, cosi' come accade per MS internet explorer, una volta immessi i dati la prima volta li mantengono le volte successive, per cui basta dare l'OK per effettuare il login.
Queste finestrine comunque non so per quale ragione ma sono piu' d'una: in teoria, come accade per MSIE, il login dovrebbe essere richiesto una sola volta nel momento in cui si cerca di uscire dalla intranet, mentre di fatto viene richiesto un login per lo script, e uno per la connessione al web e a volte una di queste finestre si nasconde dietro alla finestra del browser.
Un bel pasticcio: non so se dipenda da firefox, ma suppongo di si, e mi pare strano che una nuovissima release, per quanto migliorata, abbia questi strani comportamenti.
Dato che gia' il firefox precedente mi faceva impazzire, avevo creato una macro con autohotkey che faceva il kill del processo firefox, lo rilanciava, attendeva la partenza immetteva utente e password, dava OK ed eliminava le finestrelle fastidiose; nel caso il browser non partisse la macro si autoricaricava e quindi ricominciava la trafila killando firefox e rifacendo tutto.
Questo funzionava, ma era lento, e comunque a volte mi esasperava e interrompevo tutto (e, sigh, usavo MS internet explorer :-).
Adesso la situazione e' migliorata ma e' comunque necessario, come detto sopra, un procedimento automatico che eviti di premere bottoni a destra e a manca solo per attivare un programma. Quindi ho modificato (piuttosto profondamente) la macro che utilizzavo per il vecchio firefox.
Questa macro agisce in sintesi in questo modo (si capisce anche dal codice ma lo riassumo):
- chiusura processo firefox nel caso sia attivo
- attivazione di firefox
- blocco input da tastiera
- attivazione finestra richiesta autenticazione e conferma login
- attivazione eventuale finestra di richiesta ripristino sessione precedente: se trovata pressione tasto ripristino
- sblocco input da tastiera
- attivazione e annullo finestra richiesta autenticazione se presente (2 volte perche' le finestre possono essere 2)
Ecco il codice (per utilizzarlo occorre fare un copia-incolla del codice dentro un file con estensione AHK... e avere autohotkey installato, ovviamente :-)
------------------------------
;-----------------------------------------------
; Main process
;-----------------------------------------------
process, Close, firefox.exe
Sleep 1000
run "C:\Program Files\Mozilla Firefox\firefox.exe"
BlockInput On
Sleep 1000
if attivaFocusFinestra("Authentication Required", 20, 1000) == 1
SendInput {ENTER} ; se necessario inserire qui i dati di login (userid-pwd)
;else
; reload
BlockInput Off
; ------------------------------- SEZIONE PER SBLOCCARE FINESTRINE DI AUTENTICAZIONE
; --- sbloccare i doppioni eventuali di richiesta login,
; tentando l'attivazione della finestra "Authentication Required"
; e premendo ENTER. Nota il numero di loop qui sotto e' arbitrario
; e puo' essere adattato caso per caso, ad esempio aumentato se si vede che
; le finestre non vengono intercettate e eliminate, o diminuite nel caso
; si verificassero (improbabili) rallentamenti
Loop, 5
{
if attivaFocusFinestra("Authentication Required", 2, 200) == 1
SendInput {ENTER}
if (attivaFocusFinestra("Firefox - Restore Previous Session", 2, 200)) == 1
Send, {ENTER} ; --- INVIO a eventuale richiesta ripristino sessione
}
; ------------------------------- FINE SEZIONE SBLOCCO
;;-----------------------------------------------
; Funzione di attesa finestra a numero tentativi specificabile
; (tipico = 20) e delay [ms] (tipico 1000) specificabile
;;-----------------------------------------------
attivaFocusFinestra(nomeFinestra, tentativi, delay)
{
WinActivate, %nomeFinestra%,
Loop, %tentativi%
{
IfWinNotActive, %nomeFinestra%
{
Sleep %delay%
WinActivate, %nomeFinestra%,
}
else
return 1
}
return 0
}
------------------------------
1 commento:
ottima idea, prima o poi lo proverò!
BTW sto usando firefox 3 su ubuntu da qualche tempo...
Posta un commento