【问题标题】:How to auto start a java script fuction ? [duplicate]如何自动启动javascript函数? [复制]
【发布时间】:2014-07-15 22:18:45
【问题描述】:

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

【问题讨论】:

  • 在关闭脚本标签之前将getlocation()一直向下移动并将其更改为getLocation()
  • 定义函数后调用函数
  • 我试过了,但没用 :_(
  • 你的调用函数名和定义的函数看起来不相似-> getlocation(); 你定义function getLocation(){ } 大写L

标签: javascript php html


【解决方案1】:

这些解决方案将起作用:

    <body onload="script();">

     document.onload = function ...

甚至

     window.onload = function ...

【讨论】:

    【解决方案2】:

    注意这里getlocation()getLocation() 会有所不同

    在关闭脚本标签之前将getlocation()一直向下移动并将其更改为getLocation()或将正文标签更改为&lt;body onload="getLocation()"&gt;

    【讨论】:

    • 如果您将 onLoad 调用与现有函数调用一起添加(如您所建议的那样),则此页面将调用您的函数两次
    • 是的,他/她可以使用其中任何一个
    • 是的 either 很好,正如您的编辑所建议的那样。但是两个都不好。
    【解决方案3】:

    javascript 区分大小写

    getLocation()getlocation() 不同

    试试

    <body onload="getLocation()">
    

    <script>
    getLocation();
    <script>
    

    【讨论】:

      【解决方案4】:

      getlocation() 不等于 getLocation()

      JavaScript 区分大小写。

      第 7 行是不必要的。

      【讨论】:

        【解决方案5】:

        你似乎也依赖于这一行的 DOM

        var x=document.getElementById("demo")

        所以我会将整个内容包装在一个 window.onload 函数中

        删除顶部的 getlocation(),因为它导致位置不正确,

        然后在 DOM 像这样加载时从 window.onload 内部调用它

        window.onload = function () { getLocation(); }

        【讨论】:

          【解决方案6】:

          Javascript 是区分大小写的,所以如果你调用了你的函数getLocation,你应该通过getLocation() 调用它而不是全部小写getlocation()

          编辑:在哪里调用 getLocation() 并不重要。它被吊到了顶部,无需再向下移动。

          【讨论】:

            猜你喜欢
            • 2011-07-17
            • 2017-12-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-09-09
            • 1970-01-01
            • 2014-08-25
            • 2021-06-30
            相关资源
            最近更新 更多