我试图在web worker中移动navigator.geolocation的代码.
我尝试使用Chrome和Safari,但是"未定义"
var isGPSSupported = navigator.geolocation;
沮丧......他们在规范中说网络工作者应该支持'navigator'对象......
我的代码如下:
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);
};
Run Code Online (Sandbox Code Playgroud)
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.");
}
}
Run Code Online (Sandbox Code Playgroud)
任何有关错误的提示都将不胜感激.