我使用的是在加载完整网站后调用的事件。所以我使用onload()
。
在网站加载之前或期间有没有办法调用我的功能?
我将非常感激! 谢谢!
答案 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
希望它有所帮助。