navigator.geolocation.getCurrentPosition Kadang-kadang Gagal
Walaupun kod yang kelihatan mudah, anda telah melihat tingkah laku yang tidak konsisten dengan navigator.geolocation.getCurrentPosition failures,experiencingPosition selepas beberapa pelaksanaan yang berjaya.
Satu isu yang berpotensi terletak pada tamat masa tak terhingga lalai untuk getCurrentPosition. Tanpa menetapkan tamat masa, pengendali ralat tidak akan dicetuskan jika permintaan digantung selama-lamanya. Untuk mengelakkan ini, nyatakan tamat masa dalam panggilan fungsi:
navigator.geolocation.getCurrentPosition(successCallback,errorCallback,{timeout:10000});
Tamat masa memastikan anda menerima respons dalam jangka masa yang ditentukan, seperti 10 saat dalam contoh ini.
Walau bagaimanapun, walaupun dengan tamat masa diselesaikan, anda telah menemui variasi tambahan dalam tingkah laku merentas peranti dan penyemak imbas yang berbeza. Ini menunjukkan bahawa infrastruktur asas untuk geolokasi mungkin tidak boleh dipercayai seperti yang diiklankan.
Secara khusus, anda telah menyedari bahawa:
Pemerhatian ini menunjukkan bahawa infrastruktur bahagian belakang mungkin kurang konsisten daripada yang dijangkakan. Adalah penting untuk ambil perhatian bahawa menetapkan parameter tamat masa membolehkan pengendali ralat berfungsi dengan betul apabila permintaan tamat.
Ringkasnya, semasa menetapkan tamat masa boleh mengurangkan isu permintaan tanpa had, ketidakkonsistenan yang mendasari infrastruktur geolokasi masih boleh menyebabkan kegagalan sekali-sekala.
Atas ialah kandungan terperinci Mengapa navigator.geolocation.getCurrentPosition Gagal Berselang-seli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!