如何自动启动javascript函数?

时间:2014-05-27 05:58:47

标签: javascript php html

我有一个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>

6 个答案:

答案 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 ...