Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 让地理定位在没有Wifi的Safari上工作?_Javascript_Html_Safari_Geolocation - Fatal编程技术网

Javascript 让地理定位在没有Wifi的Safari上工作?

Javascript 让地理定位在没有Wifi的Safari上工作?,javascript,html,safari,geolocation,Javascript,Html,Safari,Geolocation,我只是用这个: navigator.geolocation.getCurrentPosition 它适用于Chrome、Firefox等浏览器,但不适用于Safari 我读到它应该只在Wifi启用时工作 有没有一种方法可以让它在不需要Wifi的情况下工作?也许用现代化 使用AngularJS,以下是我的确切代码: $scope.showPosition = function (position) { var lat = p

我只是用这个:

navigator.geolocation.getCurrentPosition
它适用于Chrome、Firefox等浏览器,但不适用于Safari

我读到它应该只在Wifi启用时工作

有没有一种方法可以让它在不需要Wifi的情况下工作?也许用现代化

使用AngularJS,以下是我的确切代码:

                $scope.showPosition = function (position) {
                    var lat = position.coords.latitude;
                    var lng = position.coords.longitude;
                };

                $scope.showError = function (error) {
                    switch (error.code) {
                        case error.PERMISSION_DENIED:
                            $scope.error = "User denied the request for Geolocation."
                            break;
                        case error.POSITION_UNAVAILABLE:
                            $scope.error = "Location information is unavailable."
                            break;
                        case error.TIMEOUT:
                            $scope.error = "The request to get user location timed out."
                            break;
                        case error.UNKNOWN_ERROR:
                            $scope.error = "An unknown error occurred."
                            break;
                    }
                    $scope.$apply();
                };

                $scope.getLocation = function () {
                    if (navigator.geolocation) {
                        navigator.geolocation.getCurrentPosition($scope.showPosition, $scope.showError);
                    }
                    else {
                        alert("Geolocation is not supported by this browser.");
                    }
                };

                $scope.getLocation();

如果不使用Wifi,抛出的错误是:
位置信息不可用。

我不相信这是真的:地理位置在Safari中起作用,但存在一些问题,尤其是用户可能在其首选项中禁用了它。您是否在“深入HTML5”页面中使用实时代码进行了测试?另外,在没有相关回调和错误处理程序的情况下调用
navigator.getlocation.getCurrentPosition()
?用我的确切代码更新了我的帖子。(是的,有回调)我不认为
modernizer
会有帮助,这将仅仅表明当前的用户代理是否支持地理定位…它似乎在各种浏览器中都是非常成功的。。。当我只使用IP时,我想知道浏览器使用的相关服务是否不够稳定?例如