JavaScript事件 - 页面加载期间或之前?

时间:2017-02-28 15:04:48

标签: javascript jquery

我使用的是在加载完整网站后调用的事件。所以我使用onload()

在网站加载之前或期间有没有办法调用我的功能?

我将非常感激! 谢谢!

3 个答案:

答案 0 :(得分:1)

<html>
  <head>
    <title>My title</title>
    <script>
      var x = 2;
      function timesTwo(num){
        return num * 2;
      }
      console.log(timesTwo(x));
    </script>
  </head>
  <body>
    <h1>Hello World</h1>
  </body>
</html>

这样,您的JavaScript代码将在呈现网站Body之前被解释和执行。请记住,如果您使用该方法并执行一些占用一些时间的JS,则网站显示时间将延迟相同的数量。

答案 1 :(得分:0)

如果您想尽早调用某些内容,请将其放在<head>元素开头的脚本标记中。但是,您无法保证任何库已加载或任何页面已加载。如果您想尽快做某事并使用jquery,请使用$(function() { yourFunctionHere() })。如果您不使用jquery,请使用DOMContentLoaded事件

答案 2 :(得分:0)

您可以在'readystate'事件中听取'DOMContent'事件之前的事情。并且不要忘记将片段放在头标签中。

<html>
<head>
<script>
document.addEventListener('DOMContentLoaded', function () {
    console.log('DOM content loaded');
};
document.addEventListener('readystatechange', function () {
    console.log('[Ready state is]', document.readystate);
    if (document.readystate != 'complete') {
        console.log('You can do something here');
    }
};
</script>
<body>
</body>
</html>

输出可以是:

[Ready state is] interactive
You can do something here
DOM content loaded
[Ready state is] complete

希望它有所帮助。