Autore Topic: pulsante jquery mobile non funziona  (Letto 306 volte)

Offline mangiol

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
pulsante jquery mobile non funziona
« il: 28 Giugno 2016, 09:06:57 CEST »
0
Ciao a tutti,
ho creato una webapp (con html, javascript con jquery mobile e php) utile per memorizzare su una mappa delle posizioni geografiche, usando le funzioni di geolocalizzazione del cellulare. La posizione viene inviata ad un server dove viene archiviata.

Ho testato la funzionalità di invio della posizione: su dispositivi lumia e ios funziona correttamente. Lato Android invece mi sono accorto che su alcuni dispositivi funziona, su altri no. Non so dire se può dipendere da versioni di s.o. oppure versioni dei browser usati.

In ogni caso, la casistica "non funziona" è caratterizzata dal fatto che quando premo il pulsante "Invia" non succede assolutamente nulla. Sembra quasi che non funzioni il pulsante (jquery mobile). Ora sto iniziando il troubleshooting, ma dato che su alcuni dispositivi, anche android, funziona, mi fa pensare che non ci sia un problema nel codice, piuttosto problemi di compatibilità tra le versioni s.o./browser e linguaggi da me utilizzati (mi viene da dire jquery mobile?). Cercando non ho trovato info troppo specifiche, volevo capire da sviluppatori esperti se per esperienza il mio caso è un "classicone" e se c'è qualche consiglio per risolverlo senza dover stravolgere il codice!

Allego per semplicità il codice interessato.

Grazie in anticipo!






Offline mangiol

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Re:pulsante jquery mobile non funziona
« Risposta #1 il: 29 Giugno 2016, 09:21:03 CEST »
0
Ciao, ho avviato il troubleshooting e individuato il problema.
Si tratta della funzione di recupero delle posizione tramite GPS: "navigator.geolocation.getCurrentPosition".

Ho verificato che per browser Chrome dalla versione 50 questa chiamata è possibile sono in HTTPS, altrimenti viene bloccata.

Per il browser Android invece, non ho trovato documentazione specifica, però anche con questo non funziona:

Codice: [Seleziona]
           /* Invia Posizione */
        $("#buttonInviaPosizione").click(function(evt)
        {if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(sendPosition, errorCase, options);
            }
            else{alert("Geolocation is not supported by this browser.");}

        });

function sendPosition(position) {               
        alert( "Posizione recuperata!");

}

function errorCase(error) { 
                        alert( "Errore " + error.code + ": " + error.message);
}

var options = {
  enableHighAccuracy: false,
  timeout: 30000
};

L'errore restituito è: "user denied geolocation"
Qualche suggerimento?

grazie!