如何在BODY onload事件中使用它之前首先加载外部javascript文件?

时间:2014-08-15 18:17:02

标签: javascript

<head>
    <script type="text/javascript" src="folder/externaljs.js">
</head>

<body onload="someFunctionInExternalJS();">
</body>

如何确保首先加载 externaljs.js 以便结果执行someFunctionInExternalJS()?谢谢!

3 个答案:

答案 0 :(得分:1)

外部javascript文件将在继续构建DOM之前加载并执行,除非它是异步(http://www.w3schools.com/tags/att_script_async.asp)。

DOM需要构建的任何外部文件(主要是javascript,css)将在解析时加载。这就是为什么你有时会在body标签的底部看到javascript而不是head。

答案 1 :(得分:1)

使用jquery,

$(document).ready(function() {
    //anything in here will only be called/work when the document is ready.

 //call your function in here, instead of bodyonload
});

答案 2 :(得分:0)

我测试了这段代码并且工作正常:

<!doctype html>
<html>
 <head>
 <script src="my_script.js"></script>
 </head>
<body onload="my_function()">

</body>
</html>

在my_script.js中使用:

function my_function () {
    alert("Hello world!");
    }

另一个解决方案是在my_script.js中写这个:

function my_function () {
    alert("Hello world!");
    }

document.onload = my_function();