navigator.geolocation のコードを Web ワーカーに移動しようとしています。
Chrome と Safari で試してみましたが、「未定義」になっています
var isGPSSupported = navigator.geolocation;
欲求不満...彼らは仕様で「ナビゲーター」オブジェクトをWebワーカーでサポートする必要があると述べました...
私のコードは以下の通りです:
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.");
}
}
何が間違っているかについてのヒントは大歓迎です。