我根本没有改变我的代码。它工作了好几天然后突然成功回调函数navigator.geolocation.getCurrentPosition停止运行。
我的代码是:
if(navigator.geolocation){
alert("you have geolocation");
navigator.geolocation.getCurrentPostion(function(pos){
alert(pos.coords.longitude);
});
}
开发者控制台给了我这个错误:
Uncaught SecurityError: Blocked a frame with origin "http://s.codepen.io" from accessing a frame with origin "http://codepen.io". Protocols, domains, and ports must match.
我正在使用codepen作为我的编辑器,我认为问题出在他们的最后,因为这是我已经使用了几天的代码并且它一直工作正常。
答案 0 :(得分:2)
正如控制台错误所述,问题是您尝试跨2个不同的域发出请求(请注意http://s.codepen.io
中的子域名。)
虽然'问题在于他们的结尾'并不完全正确(这对于codepen而言不是问题),但是你无法解决这个问题。您完全受到codepen基础架构的支配,他们可以随心所欲地使用它。
最终,您不应该将codepen用作此类事件的开发环境。有许多免费的编辑器可以让你在本地开发和测试。