-
Baco del doppio postScritto daNon Autenticatoil 2012-01-21 16:39:27.0 alle 2012-01-21 16:39:27.0Condizioni in cui si verifica: scrivo una risposta, inserisco il numero, premo invio. Non succede niente, la pagina non cambia, niente feedback insomma, così riprovo. Ma in realtà ha già pubblicato il messaggio.
-
Re: Baco del doppio postScritto da:
> Condizioni in cui si verifica: scrivo una risposta, inserisco il numero, premo invio. Non succede niente, la pagina non cambia, niente feedback insomma, così riprovo. Ma in realtà ha già pubblicato il messaggio.
Si è successo anche a me. Clicchi una volta... non succede nulla, nemmeno l'icona di firefox che dice che sta caricando la pagina... riclicchi e in quel momento ti compare il forum con due post.
-
Re: Baco del doppio postScritto daNon Autenticatoil 2012-01-21 16:49:13.0 alle 2012-01-21 16:49:13.0Capita sempre ?
-
-
Re: Baco del doppio postScritto da: Daisuke Niwa
> > Capita sempre ?
>
> No. A volte.
Mi e' capitato due volte di seguito. Credo qualcosa vada storto nel callback ajax dopo aver spedito il messaggio
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: Baco del doppio postScritto daavvelentaniCubicolarioil 2012-01-21 17:13:27.0 alle 2012-01-21 17:13:27.0Trollate totali: 18184Scritto da: Giambo
> Scritto da: Daisuke Niwa
>
> > > Capita sempre ?
> >
> > No. A volte.
>
> Mi e' capitato due volte di seguito. Credo qualcosa vada storto nel callback ajax dopo aver spedito il messaggio
E` successo anche a me svariate volte. Mi sembra che succeda piu` spesso rispondendo direttamente dalla cronologia (o forse solo dalla cronologia?)I think happiness is love
- Vladimir Putin-
Re: Baco del doppio postScritto da: avvelentani
> > > > Capita sempre ?
> > >
> > > No. A volte.
> >
> > Mi e' capitato due volte di seguito. Credo qualcosa vada storto nel callback ajax dopo aver spedito il messaggio
>
> E` successo anche a me svariate volte. Mi sembra che succeda piu` spesso rispondendo direttamente dalla cronologia (o forse solo dalla cronologia?)
Il problema e' che non sembra essere riproducibile localmente
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
Re: Baco del doppio postScritto da: avvelentani
> Scritto da: Giambo
> > Scritto da: Daisuke Niwa
> >
> > > > Capita sempre ?
> > >
> > > No. A volte.
> >
> > Mi e' capitato due volte di seguito. Credo qualcosa vada storto nel callback ajax dopo aver spedito il messaggio
>
> E` successo anche a me svariate volte. Mi sembra che succeda piu` spesso rispondendo direttamente dalla cronologia (o forse solo dalla cronologia?)
Capita quando la pagina di destinazione e' la medesima di quella di partenza, e l'URL termina con "#msgnumeretto".
Il problema l'avevo risolto con un hack orribile nella funzione send() in fdt.js:if (wl.pathname.match(/Threads$/)) { window.location.reload(); // force reload, altrimenti non fa un piffero :\ }
Forse bisogna fare lo stesso con "/Messages$/"
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: Baco del doppio postScritto da: Giambo
> Scritto da: avvelentani
> > Scritto da: Giambo
> > > Scritto da: Daisuke Niwa
> > >
> > > > > Capita sempre ?
> > > >
> > > > No. A volte.
> > >
> > > Mi e' capitato due volte di seguito. Credo qualcosa vada storto nel callback ajax dopo aver spedito il messaggio
> >
> > E` successo anche a me svariate volte. Mi sembra che succeda piu` spesso rispondendo direttamente dalla cronologia (o forse solo dalla cronologia?)
>
> Capita quando la pagina di destinazione e' la medesima di quella di partenza, e l'URL termina con "#msgnumeretto".
> Il problema l'avevo risolto con un hack orribile nella funzione send() in fdt.js:
>> if (wl.pathname.match(/Threads$/)) { > window.location.reload(); // force reload, altrimenti non fa un piffero :\ > } >
>
> Forse bisogna fare lo stesso con "/Messages$/"
E disabilitare semplicemente il pulsante INVIA una volta che lo si preme?-
Re: Baco del doppio postScritto da: Daisuke Niwa
> > Forse bisogna fare lo stesso con "/Messages$/"
>
> E disabilitare semplicemente il pulsante INVIA una volta che lo si preme?
Non risolve il problema del non-redirect.
Purtroppo testare localmente mi e' difficile, firebug crasha e si porta dietro Firefox
!!
Ho fatto un push della modifica, ma non sembra portare al messaggio giusto dopo l'invio (#msgnumeretto) non cambia.
Mah, forse la cosa migliore e' cazziare ajax e fare un normalissimo post quando si clicka su invia ...`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: Baco del doppio postScritto da: Giambo
> Scritto da: Daisuke Niwa
>
> > > Forse bisogna fare lo stesso con "/Messages$/"
> >
> > E disabilitare semplicemente il pulsante INVIA una volta che lo si preme?
>
> Non risolve il problema del non-redirect.
>
> Purtroppo testare localmente mi e' difficile, firebug crasha e si porta dietro Firefox
!!
> Ho fatto un push della modifica, ma non sembra portare al messaggio giusto dopo l'invio (#msgnumeretto) non cambia.
>
> Mah, forse la cosa migliore e' cazziare ajax e fare un normalissimo post quando si clicka su invia ...
Io farei così:
quando l'utente preme INVIA sia l'oggetto che il testo che il pulsante invia si disabilitano, inoltre si annulla il comportamento di default del pulsante con preventDefault http://api.jquery.com/event.preventDefault/
in modo che non ricarichi la pagina da solo. Il testo del pulsante potrebbe essere cambiato in "Invio in corso...".
Quando l'oggetto ajax dice (attraverso funzione di callback mi pare), che l'invio è stato effettuato si fa per ora il reload della pagina, in futuro si potrà far comparire la propria risposta senza il reload.-
Re: Baco del doppio postScritto da: Daisuke Niwa
> Scritto da: Giambo
> > Scritto da: Daisuke Niwa
> >
> > > > Forse bisogna fare lo stesso con "/Messages$/"
> > >
> > > E disabilitare semplicemente il pulsante INVIA una volta che lo si preme?
> >
> > Non risolve il problema del non-redirect.
> >
> > Purtroppo testare localmente mi e' difficile, firebug crasha e si porta dietro Firefox
!!
> > Ho fatto un push della modifica, ma non sembra portare al messaggio giusto dopo l'invio (#msgnumeretto) non cambia.
> >
> > Mah, forse la cosa migliore e' cazziare ajax e fare un normalissimo post quando si clicka su invia ...
>
> Io farei così:
> quando l'utente preme INVIA sia l'oggetto che il testo che il pulsante invia si disabilitano, inoltre si annulla il comportamento di default del pulsante con preventDefault http://api.jquery.com/event.preventDefault/
in modo che non ricarichi la pagina da solo. Il testo del pulsante potrebbe essere cambiato in "Invio in corso...".
>
> Quando l'oggetto ajax dice (attraverso funzione di callback mi pare), che l'invio è stato effettuato si fa per ora il reload della pagina, in futuro si potrà far comparire la propria risposta senza il reload.
Per quanto riguarda il "portare al numeretto giusto" si può fare se la funzione ajax di callback riceve come risposta un dato JSON con il numeretto giusto. A quel punto dovrebbe essere possibile costruire il nuovo URL con l'anchor corretto.-
Re: Baco del doppio postIl problema e' che se usi window.location per caricare un URL uguale a quello attuale tranne che per il valore del link interno (#numeretto), allora il browser non manda un request ma semplicemente scrolla all'interno della pagina fino al link interno (Fa senso).
Per questa ragione ho aggiunto un "reload" (Equivalente a F5 o mela-qualchecosa), dovrebbe funzionare correttamente.
BTW, la tua idea di disabilitare "Invia" per evitare invii a raffica nel caso di clickatori folli, mi piace
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: Baco del doppio postScritto da: Giambo
> Il problema e' che se usi window.location per caricare un URL uguale a quello attuale tranne che per il valore del link interno (#numeretto), allora il browser non manda un request ma semplicemente scrolla all'interno della pagina fino al link interno
Ah ora ho capito.
E se aggiungi un parametro dummy tipo ?rnd=123456
In questo modo dovresti poter forzare il reload.
Per aggiungere il parametro penso che basti modificare il document.location.search
Così
var queryParam = document.location.search.replace("?","").split("&");
dovresti riuscir a recuperare un array di tutti i parametri mentre quando vuoi rimetterli insieme usi:
document.location.search = queryParam.join("&");
**Modificato dall'autore il 22.01.2012 02:42**
-
-
-
-
-
-
-
-
-
-
-
-