2010-11-20 3 views
9

Ho una longpoll in esecuzione ma quando apro una nuova scheda in Firefox o minimizzo il browser, la longpoll sembra scadere !? Tuttavia, se esco dalla scheda selezionata, o creiamo una nuova finestra dedicata con Firefox aperta, non si verificherà un timeout.Firefox interrompe l'esecuzione di JavaScript quando è ridotto a icona (longpolling)?

Qualcuno ha qualche idea o intuizione su questo comportamento strano? Quando la scheda minimizza/alterna Firefox interrompe l'esecuzione di JavaScript in queste schede?

A proposito, sto usando Firefox 3.6.

+0

FYI I FIGURATO. IL PROBLEMA È CHE IL JAVASCRIPT NON HA POTUTO MANIPOLARE IL DOM PER QUALCHE MOTIVO QUANDO IL TAB NON HA FOCUS. – pipinghot

+0

goood finding .. –

+0

In realtà, dovresti pubblicare il tipo di codice che stai utilizzando. Il tuo commento sembra implicare che lo script implichi l'attenzione ai widget. – syockit

risposta

1

No, non smette di eseguire JavaScript. E non ti impedisce di modificare il DOM. Ho un'app che esegue un sondaggio sul server (ho sia la trasmissione sincrona che asincrona) e poi aggiorna la dom in base ai risultati. E se guardo la scheda o no, e anche se il firefox 3.6 è ridotto a icona, funziona. L'ho appena testato (di nuovo), prima di pubblicare questa risposta.

Anche gli strumenti di test javascript come selenio (in javascript) che stanno manipolando il DOM funzionano senza messa a fuoco.

Quindi, per favore controlla il tuo codice, probabilmente richiede attenzione su qualche scheda o su qualche elemento (come syockit suggerito). Credo che tu abbia il firebug e puoi facilmente analizzare e eseguire il debug del tuo javascript (se non è offuscato).

+0

Forse ero troppo vago. Più in particolare, mi ha impedito di distruggere un nodo DOM con un lettore flash e poi usare SWFObject per caricarne uno nuovo - non poteva caricare quello nuovo. Non sono sicuro del perché. – pipinghot

+0

Ohh, ora è più complicato, ora hai un plugin flash su una pagina e stai usando SWFObject. Onestamente, non so come funziona. Ma puoi provare a scrivere due casi di test in selenio, poi avrai uno scenario specifico e un test semplice da condividere con gli altri. Hai provato a cercare la risposta sulle pagine di Mozilla? O nello strumento di tracciamento dei bug di Mozilla. –