Я пытаюсь переместить свой код для navigator.geolocation в веб-воркере.
Я пробовал это с Chrome и Safari, но получаю «неопределенный» на
var isGPSSupported = navigator.geolocation;
Разочарование... они сказали в спецификации, что объект "навигатор" должен поддерживаться в веб-воркерах...
Мой код ниже:
index.js
var gpsWorker = new Worker("app/gpsworker.js");
gpsWorker.onmessage = function (e) {
alert(e.data);
};
gpsWorker.postMessage("Start GPS!");
gpsWorker.onerror = function (e) {
alert("Error in file: " + e.filename + "\nline: " + e.lineno + "\nDescription: " + e.message);
};
gpsworker.js
self.onmessage = function (e) {
initGeoLoc();
}
function initGeoLoc() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
self.postMessage("Got position!");
});
} else {
self.postMessage("GPS is not supported on this platform.");
}
}
Любой намек на то, что не так, будет принят с благодарностью.