Javascript:在移动设备上运行,但不在桌面上运行(chrome、opera、safari)
我正在使用HTML5地理定位api。我收到一个奇怪的错误。我得到了一个名为Javascript:在移动设备上运行,但不在桌面上运行(chrome、opera、safari),javascript,Javascript,我正在使用HTML5地理定位api。我收到一个奇怪的错误。我得到了一个名为dogeLocate的函数,当用户登陆页面时调用该函数。加载带有wright位置数据的地图。我得到了一个按钮,当用户想要重新居中地图时,可以调用相同的功能。但当用户点击桌面(chrome、opera、safari)上的按钮(firefox除外)时,该按钮不起作用。 而另一方面,没有问题。一旦调试,代码locationCallback似乎在第二次调用时没有正确调用,即使它已加载 doGeolocate: function()
dogeLocate
的函数,当用户登陆页面时调用该函数。加载带有wright位置数据的地图。我得到了一个按钮,当用户想要重新居中地图时,可以调用相同的功能。但当用户点击桌面(chrome、opera、safari)上的按钮(firefox除外)时,该按钮不起作用。
而另一方面,没有问题。一旦调试,代码locationCallback似乎在第二次调用时没有正确调用,即使它已加载
doGeolocate: function(){
if (navigator.geolocation) {
console.log("doGeolocate");
var locationCallback = helper.callback(this, function(position) {
this.initialGeolocationPosition(position);
if(!this.positionMarker){
this.createPositionMarker(position);
}
});
var err = function(err) {
console.log("");
};
var options = {
maximumAge: 0
};
navigator.geolocation.getCurrentPosition(locationCallback,err,options);
}
},
也许和这个老问题一样?桌面浏览器是否要求您允许地理定位?@Skarlinski是的,确实如此,这就是为什么它总是第一次起作用。这不是问题,但谢谢!helper.callback()的作用是什么?这看起来是最薄弱的环节