Я работаю над проектом веб-работника.Веб-работник - это небольшой файл javascript, который определяет GPS-координаты пользователей и каждые 5 секунд отправляет данные обратно в сценарий главной страницы, используя postMessage.
Я протестировал только рабочий javascript, и он, кажется, работает нормально, я могу получать координаты GPS каждые 5 минут и отображать их в окне предупреждения (для тестирования), и я протестировал код главной страницы с помощьюдругой рабочий сценарий, и он тоже, кажется, работает нормально, но когда я проверяю код главной страницы с помощью рабочего сценария, чтобы получить координаты GPS, из рабочего сценария ничего не получается.
Может кто-нибудь помочь мне подсчитатьпочему это не работает и предлагает решение?
Моя цель - иметь рабочий скрипт gps, который работает непрерывно в фоновом режиме и обновляет позицию gps пользователя каждые 5 минут, а затем передает эту информацию обратно в основнойскрипт страницы, где он будет отображаться и храниться в базе данных mysql.
Вот скрипт главной страницы
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="startWorker()">
<p>Your GPS Coordinates are:
<output id="result"></output>
</p>
<script>
var w;
function startWorker() {
if (typeof(Worker) !== "undefined") {
if (typeof(w) == "undefined") {
w = new Worker("x05.js");
}
w.onmessage = function(event) {
document.getElementById("result").innerHTML = event.data;
};
} else {
document.getElementById("result").innerHTML = "Sorry! No Web Worker support.";
}
}
</script>
</body>
</html>
, а вот скрипт рабочего файла
function getLocation()
{
navigator.geolocation.getCurrentPosition(getPosition);
}
function getPosition(position)
{
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var location = 'lat='+position.coords.latitude+'<br>long='+position.coords.longitude;
postMessage(location);
setTimeout(getLocation, 5000);
}
getLocation()