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

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

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

我该如何确保首先加载 externaljs.js,以使得someFunctionInExternalJS()被执行?谢谢!


"我该如何确保?测试一下!" - Faiz Ahmed
测试过了...不起作用。 - Bubba Yakoza
那只是一个例子,它可以是 externaljs.js 文件中的任何函数。 - Bubba Yakoza
1
请在 window.onload 事件中调用您的 JS 函数。 - frogatto
展示一下 externaljs.js 的内容,所有显示的都正常工作。 - dandavis
显示剩余3条评论
3个回答

2
外部 JavaScript 文件会在继续构建 DOM 之前加载和执行,除非它是异步的(http://www.w3schools.com/tags/att_script_async.asp)。
DOM 需要构建的任何外部文件(主要是 JavaScript 和 CSS)都会在解析时加载。这就是为什么有时候你会看到 JavaScript 放在 body 标签底部而不是 head 标签中的原因。

2
我测试了这段代码,它运行得很好:

<!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();

2
使用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
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接