Un modo per impedire a Safari e Chrome di mostrare l'animazione del caricamento mentre XHR è attivo?

StackOverflow https://stackoverflow.com/questions/1222781

Domanda

Sto usando il binding XMLHTTPRequest per ricevere eventi asincroni dal server. XHR apre un URI del server e quindi si blocca fino a quando non si verifica un evento o si verifica un timeout, in ogni caso JS attiva immediatamente un nuovo XHR sullo stesso URI.

Funziona bene, ma c'è un fastidioso problema in Safari e Chrome: entrambi continuano a mostrare " caricamento della pagina " animazione mentre qualsiasi XHR è attivo. Chromes va ancora oltre e continua a animare il cursore, rendendo effettivamente inutilizzabile l'applicazione.

Esiste un modo per disabilitare questo comportamento? Credo che ciò avvenga intenzionalmente per motivi di sicurezza, quindi l'utente potrebbe sempre sapere se la pagina sta caricando qualcosa. Tuttavia, sia FF che IE trattano l'XHR in modo diverso.

È stato utile?

Soluzione

L'indicatore di caricamento animato indica che è in corso il caricamento della pagina. Questo può accadere per le serie di XHR, avviate direttamente dal gestore di eventi window.onload (). Se queste chiamate XHR verranno inserite nella chiamata setTimeout (), il caricamento della pagina verrà terminato con l'associazione agli eventi asincroni in ascolto.

Altri suggerimenti

Penso che ciò accada per la richiesta di sincronizzazione a un URI. Molti vogliono provare una richiesta asincrona. Penso che siano trattati in modo diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top