it-swarm.it

Il timeout di Internet Explorer?

Nel mio sito web ho una singola pagina che si aggiorna dinamicamente tramite AJAX/JSON in una semplice pagina HTML.

Ora questa pagina può essere lasciata aperta per un massimo di tre o quattro giorni. Quando l'ho lasciato in esecuzione nel fine settimana, i dati si erano congelati, il server era ancora perfettamente funzionante e ad un aggiornamento tutto ha ripreso a funzionare. Quindi la mia domanda è Internet Explorer (o anche altri browser) 'timeout'?

3
sphvn

Molte domande vengono alle mie:

  1. Quale versione di IE?
  2. Qual era il codice che stava effettuando la chiamata?
  3. Cosa ha fatto il browser quando ci sei tornato qualche giorno dopo?
  4. Cosa indicano i log del server Web - se dal server Web sono stati restituiti dei codici di errore che JavaScript non è stato in grado di gestire?

Generalmente, se hai un pezzo di codice JavaScript che viene eseguito su un timer con setTimeout funzionerà per sempre. Ma ricorda che i browser sono software desktop e come tali, a volte succede qualcosa al sistema che può avere un impatto su quel browser. È difficile speculare senza sapere più precisamente quali fossero le condizioni della tua esperienza. È possibile che il browser si sia bloccato a causa di altri software di sistema in esecuzione. È possibile che il DNS del sistema sia diventato kerflooie per un po ', quindi JavaScript non ha gestito bene il problema. È possibile che il server che serve il contenuto sia saltato fuori per un secondo e abbia restituito una stringa errata che JavaScript non è stato in grado di gestire, quindi l'esecuzione della pagina è stata interrotta. Infine, forse il browser ha esaurito temporaneamente la memoria? Se i dati restituiti aggiungessero anche contenuti che aggiungevano eventi alla pagina, forse hai semplicemente esaurito la memoria? Questo sarebbe il caso se la pagina si "congelasse" davvero - ma probabilmente avresti visto un avviso di memoria da IE in quel caso.

Un sacco di dettagli per questa domanda e non abbastanza dettagli forniti.

2
artlung

Non mi aspetto che IE scada ma se una richiesta Ajax non è riuscita e potrebbe non tentare di riprovare. Un buon modo per confermare ciò sarebbe usare Firefox e scaricare un plug-in chiamato FireBug. Questo ti darà un registro di tutte le richieste http/ajax richieste dal desktop e ti mostrerà se ha ricevuto degli stati di errore dal server o un errore javascript.

2
AronHopkins