Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856

    Safari, history.back e updateProgress ...

    Problema che mi si verifica solo sul Safari di un tablet che uso per i test:
    Su una pagina ho un bottone che esegue un history.back sul clientclick e rimanda alla pagina da cui l'utente proveniva.
    Tutto bello ed efficiente su tutti i pc e tutti i browser su cui l'ho testato MA sul Safari di questo iPadella, la pagina in cui arrivo facendo l'history.back mostra un updateprogress col suo layer semitrasparente che gira all'infinito e non scompare mai fino a quando non eseguo il reload della pagina, cosa che intuirete è un po' urticante per l'utenza.
    Sbaglio qualcosa?
    1-Perchè parte l'updateprogress sulla pagina di arrivo?
    2-Perchè solo sul Safari di questo iPadella?
    3-Oltre a raccomandarmi al divinoamore, posso modificare qualcosa? (non posso usare un response o un href per tornare alla pagina precedente perchè in quella ho dei dati paginati e mi perdo la posizione di pagina a cui ero arrivato e i filtri che avevo impostato per ridurre i dati mostrati -e non ho voglia di salvarmi sessioni o portarmi in giro parametri da una pagina all'altra per ritornare dov'ero)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886

    Close 2011

    non ho ben capito la dinamica, la pagina X ha un updateprogress poi se vai alla successiva Y e torni ad X, questo si riscatena anche se aveva terminato ?

    ps1:
    dinamica a parte, comunque, credo che se guardi la consolle in debug in altri browsers lo scriptmanager si incasina lo stesso, ma i motori si comportano diversamente ed in qualche modo te la cavi.

    ps2: hai considerato che in una pagina ci sono i postback ? se faccio 4 postback sulla pagina, fare history.back torna a se stessa
    Ultima modifica di djciko; 22-03-2018 a 22:18

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Yep considerai.
    Funzia così: ho una pagina con un elenco di ordini in una gridview (e una serie di altre cose su diverse view che però non incidono sul mio problema, motivo per cui su questa pagina c'è un updateprogress). Cliccandone uno si apre una pagina diversa con il dettaglio dell'ordine (che un utente può solo visualizzare, no postbacks here) e quindi da qui una volta visto quello che mi interessa voglio tornare alla pagina precedente... lo faccio con un history.back perchè alla stessa pagina di dettaglio posso accedere anche da una terza pagina quindi mi va comodo (oltre che perchè così mi conserva i filtri e la paginazione dell'elenco ordini della pagina precedente).
    Il fatto è che tornando alla prima, mi parte quel benedetto update progress senza che ce ne sia bisogno e sta lì... con Firefox e Chrome su desktop non succede, mi si verifica sul Safari dell'Ipad (non so dire se si verifichi anche su un Safari su macbook, ora vedo se riesco a recuperarne uno per fare la prova ma credo di no perchè me lo avrebbero già segnalato...)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    c'e' un fottìo di javascript dietro, atterrare di nuovo su quella pagina con il tasto indietro del browser (uguale ad history.back) non è salutare..

    tanto per provare, vedi se questo tip risolve
    https://forums.asp.net/t/2124134.asp...+iPhone+safari

    (in pratica suggerisce di mettere il bottone che lancia la seconda pagina in un UpdatePanel),


    senno' credo tu debba fare tutto lato server conservandoti cio' che ti serve...

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Sono già in una situazione simile perchè l'update panel è a livello di masterpage quindi tutto quello che clicco in realtà è un trigger dell'updatepanel (lo so: dovrei darmi all'agricoltura invece di fare ste 'zzate con gli updatepanel nella master.... Lo dico per i posteri: non mettete gli updatepanel nelle masterpage!)

    Mi sovvien or ora in mente che quello che lancia l'history.back è un button e pur avendo l'history.back sul clientclick forse fa il postback lo stesso e quindi è lui quello che avvia l'updateprogress... provo a usare qualcos'altro senza runat server!
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    no non è il bottone col runat server il colpevole...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    se e' nel progetto, l'ultimo consiglio che mi viene e' usare jQuery nella speranza che faccia il miracolo (ma sono scettico, sempre con lo ScriptManager ti scontri)

    codice:
    <a data-rel="back" data-role="button" data-icon="back">Forse Torna Indietro</a>

    ma il tuo problema e' sempre quello: l'architettura incasinata (che hai ereditato)

    Comunque a parte l'architettura, un dettaglio su una pagina nuova non si è mai visto, al massimo una popup
    Ultima modifica di djciko; 26-03-2018 a 16:42

  8. #8
    Non conosco ASP.Net quindi forse sto dicendo una cavolata...

    Se, invece dell'history.back(), usassi un normale link con un href dinamico?
    Dovresti avere l'url della pagina di provenienza, completo di querystring, in:
    Request.UrlReferrer.ToString();

    Ho detto una cavolata?

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    no, non l'hai detta, ma il problema che ha SuperMac e' che non vuole conservarsi tutti gli oggetti lato server per riprodurre lo stato della pagina (paginazione etc), ma vuole farlo con l'emulazione del tasto indietro della storia JS

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Non conosco ASP.Net quindi forse sto dicendo una cavolata...

    Se, invece dell'history.back(), usassi un normale link con un href dinamico?
    Dovresti avere l'url della pagina di provenienza, completo di querystring, in:
    Request.UrlReferrer.ToString();

    Ho detto una cavolata?
    grazie ma credo non mantenga il numero di pagina del gridview da cui ero partito nè i dati nei filtri ... sono cose che non passo via querystring nei postback.
    Il bello è che guardando in rete sembra che il mondo abbia il problema opposto, di far partire l'updateprogress ... e io l'esatto contrario
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.