Ajax. senza Class
Pagine → 1 2
18/11/2011 17:11:17 e modificato da leoblacksoul il 18/11/2011 17:14:35
Voglio precisare che il mio script serve solo per fare lo scrolling e non è uno script indipendente, dovete adattarlo alla vostra situazione.
Funziona correttamente con l'ultima versione di jQuery, che è la 1.6.qualcosa.
La tua pagina non sembra avere molto senso.
Ecco i suoi problemi.
Fai una chiamata Ajax che viene eseguita solo 5 o 6 volte:
C'è un timeout impostato a fine pagina per ricaricare l'intera pagina. Perchè? Che senso ha ricaricare la pagina quando vuoi fare il refresh con ajax?
La chiamata Ajax fallisce perchè tenta di prendere contenuti da un URL malformato:
L'URL che usi è
chat.php?id=<?php echo $_GET['id']; ?>' + '?' + new Date().getTime()
che produce un risultato fatto così:
chat.php?id=5?1321632382234
Questo URL ha tre errori. Le variabili GET si separano con una &, non con il ?. Ogni variabile deve avere un nome e un contenuto espressi nella forma nome=contenuto, infine vorrei ricordarti che la funzione javascript "new Date().getTime()" non restituisce il timestamp ma il tempo misurato in un altro modo. Dato che PHP lavora con i timestamp il riferimento temporale che gli passi sarebbe completamente sbagliato per lui.
Per generare un timestamp in javascript devi usare un codice così:
now=Math.round(new Date().getTime() / 1000);
Infine lo script per lo scrolling è stato copiato da una pagina che funziona a frame, la tua pagina non funziona a frame per quello che mi è dato vedere perciò non è quello che ti serve.
18/11/2011 17:15:09
Quindi affinchè funzioni, che dovrei fare almeno? :(
18/11/2011 17:51:04
Dovresti togliere il refresh a fine pagina, usare uno script di scrolling sul "ReloadThis" come quello che ho postato e riscrivere l'URL nella funzione
var now=Math.round(new Date().getTime() / 1000);
http.open('GET', 'chat.php?id=<?php echo (int)$_GET['id']; ?>&'+now, true);
Ho aggiunto un cast a int sulla parte PHP, assicuriamoci almeno che sia un intero dato che lo prendi dritto dritto da GET.
Poi dovrebbe funzionare, se non mi sono perso altri errori in giro
18/11/2011 21:19:34
C'è qualcosa che non mi torna, uhm... prima di tutto l'ultima funziona postata dev'esser integrata alla precedente in Jquery formando un unico script? Secondo, da che libreria bisogna prendere la funzione e integrarla tramite url? uhm uhm terzo no non mi viene nulla, ah si, il sistema com'è che automaticamente vede la fine dello scroll e la riporta giù la frase?
18/11/2011 22:49:34
No stiamo facendo confusione XD
Il mio post sullo scrolling è solo ed esclusivamente quello fatto sull'altra pagina. Tutti gli altri post non centrano e riguardano la pagina di -ewan-
Il pezzo del codice che avevo postato dovrebbe venire inserito al posto della parte del tuo script che inserisce il testo nel div di chat. Infatti noterai che nel mio script c'è una chiamata del tipo chat_inner.append(new_text)
dove chat_inner è il contenitore della chat e new_text sono i nuovi messaggi da aggiungere alla chat.
Il rilevamento della posizione dello scrolling viene fatto con l'unico if del codice, che somma delle misure relative ai due contenitori per rilevare dove si trovano uno rispetto all'altro
21/11/2011 08:01:56
Non so te :giocatorelibero: ma io ho risolto alla grande *____* Grazie mille Leo!
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Foundation Galactic Frontier ↗
Exclusive Villa GdR ↗
Fallen Gods ↗
RAID Shadow Legends ↗
Raja Dunia ↗
Enlisted ↗