我有一个java脚本函数,我希望它能自动启动,但它不会。我已经尝试了on load命令和其他东西,但它不能在这里工作是html中的代码。我只需输入一些东西在这里谁知道什么。
<!DOCTYPE html>
<html>
<body onload="getlocation()">
<button onclick="getLocation()">Try It</button>
<div id="mapholder"></div>
<script>
getlocation()
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
var lat=position.coords.latitude
var lon=position.coords.longitude;
var latlon_url="http://example.com/latlon.php?lat="+lat+"&lon="+lon;
window.location=latlon_url;
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML="The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML="An unknown error occurred."
break;
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
请注意,此处getlocation()
和getLocation()
会有所不同
在关闭脚本代码之前将getlocation()
一直向下移动,并将其更改为getLocation()
或将正文标记更改为<body onload="getLocation()">
答案 1 :(得分:0)
Javascript区分大小写,因此如果您调用了函数getLocation
,则应通过getLocation()
调用它,而不是全部小写getlocation()
。
编辑:你在哪里调用getLocation()并不重要。它被提升到顶部,无需进一步向下移动。
答案 2 :(得分:0)
你似乎依赖于这行的DOM
var x=document.getElementById("demo")
所以我将整个事情包装在window.onload函数
上删除顶部的getlocation(),因为它导致位置不正确,
然后去一个头,并在DOM加载时从window.onload中调用它
window.onload = function () {
getLocation();
}
答案 3 :(得分:0)
javascript区分大小写
getLocation()
和getlocation()
不同
尝试
<body onload="getLocation()">
或
<script>
getLocation();
<script>
答案 4 :(得分:0)
getlocation()不等于getLocation()
JavaScript区分大小写。
不需要第7行。
答案 5 :(得分:0)
这些解决方案可行:
<body onload="script();">
或
document.onload = function ...
甚至
window.onload = function ...