[gdrcd 5.x] Problemi con script jQuery postato il 27/03/2012 14:06:33 nel forum programmazione, gdrcd, open source, hosting e modificato da irenes il 27/03/2012 16:29:03
Buongiorno!
Provo a esporvi un mio problemino, sperando possiate aiutarmi e... boh, in realtà più a cercare di capire (mi sento molto secchiona a riguardo).
allora...Ho provato a implementare un piccolo script di jquery in land. L'intenzione è quello di fare aggiornare automaticamente, senza far aggiornare tutta la pagina, un singolo div, che contiene il numero di presenti in land e in una certa chat.
Lo script, molto banale, è questo
Pagine → 1 2
27/03/2012 16:59:17
non saprei di preciso, ma ti posto come ho risolto io (lavoravo proprio ieri ad una cosa molto simile):
27/03/2012 18:21:47
le chiamate ajax sono asincrone per definizione, quindi non dovrebbero affatto bloccare l'intero sito quando vengono eseguite, dovrebbero invece venire eseguite in parallelo, lasciando il sito libero di funzionare.
MA il blocco può accadere se il tuo sito è particolarmente pesante sul browser, che quindi rallenta tutto.
I metodi che ti hanno proposto sopra sono tutti giusti ed equivalenti tra di loro, ma secondo me il tuo problema è legato al fatto che il tuo sito è troppo pesante.
27/03/2012 20:00:28
in effetti, anche applicando le soluzioni propostemi [grazie! *O*] il problema rimane tale e quale.
Posso chiederti cosa intendi per "sito pesante"? Dovrei cercare di snellire php? grafica?
è che mi sembra strano, fra l'altro: non ci sono animazioni flash, nè nulla di particolare. E pure riguardo gli script... boh, proprio il minimo sindacale [pochissimo di più del pacchetto gdrcd base].
E poi, scusate la curiosità, ma
1) se è un problema di sito pesante, perchè, se al posto del div autoaggiornante piazzo un frame non subentrano problemi? (fatto e testato)
2) ammesso che il sito sia pesante e sia per quello... cosa c'entra? Nel senso... non è solo il contenuto del div che si và a ricaricare? perchè frezza tutto?
Leo, specifico per non essere fraintesa: non metto in dubbio quanto tu dici, vorrei solo,... capire, conoscere xD
27/03/2012 23:27:38 e modificato da leoblacksoul il 27/03/2012 23:44:03
Hai provato a vedere cosa accade su diversi browser?
Il sito potrebbe essere pesante perchè magari hai tante immagini grosse (in termini sia di MB che di px). O magari hai del codice javascript che gira a intervalli molto piccoli
visto che se metti il frame risulta più leggero allora deve esserci qualcosa che non quadra. O il tuo pc è particolamente lento, oppure la richiesta AJAX davvero pesa molto sul browser. Può essere il browser. Io in genere non ho mai avuto grossi rallentamenti, tranne quando tengo la land aperta tutto il giorno, dopo 10 ore che sono in chat firefox arriva ad occupare una quantità di memoria tale che ogni richiesta AJAX blocca l'intero browser per un paio di secondi. Ma come ho detto succede dopo 10 ore di chat aperta ininterrottamente.
Sicura di non aver per sbaglio attivato la modalità non-asincrona delle chiamate ajax con $.ajaxSetup?
01/08/2012 13:19:28
riesumo questo post.... più che altro perchè mi sono ritrovata a combattere ancora con una questione XD
allora, io ho questo
01/08/2012 13:41:11
LOL che soluzione originale irenes XD
Il tuo problema è probabilmente legato al fatto che il tuo script richiama la pagina stessa...non so come funziona internamente la funzione load ma è possibile che vengano rielaborate tutte le istruzioni eseguite onLoad, non so bene se quelle della nuova o della vecchia pagina.
Sarebbe consigliabile ricaricare solo il blocco che vuoi aggiornare tramite una pagina apposita, piuttosto che ricaricare sè stessa
01/08/2012 13:48:45
01/08/2012 13:59:41
Che le dialog non compaiano è normale, devi riregistrarle dopo ogni refresh.
Le chat sono coinvolte perchè nella pagina che carichi comunque ci sono, anche se dopo vengono filtrate e probabilmente vengono eseguiti gli script della pagina che carichi
01/08/2012 14:02:35
01/08/2012 18:19:25
La pagina completa dovrà pure caricarla prima di estrarre solo il div che ti interessa no?
jQuery non credo che faccia l'analisi testuale dei documenti html, dato che la fa già il browser da solo, jQuery carica l'intero documento facendo costruire al browser il relativo albero DOM e poi lo manipola per estrarre solo il div che hai specificato. Ma intanto il browser il parsing dell'intera pagina caricata la fa e mi sa che fa anche partire gli eventi onLoad
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Planethos GdR: Una nuova profezia
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Metin2: Informazioni sul server migliorate
Age of Crystals: Rallentamenti estivi
dbzgdr ha risposto alla discussione: Dragon Ball Z Gdr
Titan Revenge: Calendario eventi fino a fine mese online!
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Enlisted: Modifiche al sistema di aggiornamento
pyro72 ha aperto un annuncio di ricerca: World Without Heroes ricerca Giocatore
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
World Without Heroes: News GDR: Pubblicazione e Nuovo Inizio
I dati del generatore di rank sono stati aggiornati!
Il gestore di Nexi Generation ha risposto alla recensione di deanna
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Tatuaggi - Tutti i tatuaggi che nascono da film e serie tv
Elenbar - Recensione del gdr fantasy classico Terre di Elenbar...
Social Network - Quante visite arrivano dai social network? Ma soprattutto da quali? Scopriamolo assieme!
Giochi Fairy Tail - Lista completa dei giochi di ruolo online ambientati nel mondo di Fairy Tail
Ambientazioni GDR - Alcuni consigli di Romeo Gentile su come creare un ambientazione
Before Beyond the Lie - Intervista al gestore del GdR moderno Before Beyond the Lie.. avventurati nell'high school americana!