» »

getCurrentPosition in safari (javascript, html5)

getCurrentPosition in safari (javascript, html5)

detroit ::

Ko poizkusam dobiti current location me safari vprasa za dovoljenje, kar je normalno. Problem pa je da ne gre v callback nikoli. Seveda ko restartam stran so pravice ze dolocene in gre v callback. Je kaksen workaround, tak ki ni clunky?

lp
Skero

FrEaKmAn ::


win64 ::

Problem je, ker brskalnik sploh ne pokliče callbacka, dokler se uporabnik ne odloči.
Preprosta rešitev je s timeoutom. Če se uporabnik v nekem času ne odloči, potem prikažeš obvestilo o tem, da nisi mogel pridobiti lokacije in naj preveri lokacijske storitve.
Nekako tako gre koda:
var onError = function(){ 
//tukaj je napaka
};
var onSuccess = function(){ 
if(timeout != null){
clearTimeout(timeout);
timeout = null;
}
//tukaj dobiš lokacijo
... 
};

var timeout = window.setTimeout(function(){
onError("timeout");
timeout = null;
}, 5000);
navigator.geolocation.getCurrentPosition(onSuccess, onError);


EDIT: no vsak dan se naučiš nekaj novega: navigator.geolocation.getCurrentPosition(successCallback,errorCallback,{timeout:10000});

Zgodovina sprememb…

  • spremenil: win64 ()

detroit ::

hehe te optione poznam.
Hvala obema
Problem je ker dobivam od location managerja nek kcl error domain 0. Sedaj sem naredil tako da naredi 10poizkusov in pride v success callback...slej ko prej:).
Tisti timeout sem imel nastavljen dosti nizek in tudi age je bil 0 tkao da je bil vedno novi fetch. Mi deluje bolj kot sistemska tezava.
Skero


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c] ne sprejme UDP paketa

Oddelek: Programiranje
7984 (572) slovencl
»

Kontakt obrazec

Oddelek: Izdelava spletišč
62061 (1906) betmen
»

Download vsebine strani s JS

Oddelek: Izdelava spletišč
472560 (1858) MrBrdo
»

Prosim za predloge in pripombe

Oddelek: Izdelava spletišč
322122 (1265) msjr
»

[baze] Povezava do slike ali BLOB?

Oddelek: Programiranje
101658 (1455) BlueRunner

Več podobnih tem