0

让我们将其命名为 A.js 和 B.js。

在 aspx 页面的页面加载中,我试图按 A.js,B.js 的顺序加载 JS。

我在 B.js 中使用了一个在 A.js 中声明的方法。但是我在控制台中收到一个错误函数未声明的警报。

但是当我尝试从 B.js 或 A.js 发出警报时,脚本工作正常。它采取的方法和页面是好的。为什么这样?

我需要做什么才能让它在没有警报的情况下工作?

4

2 回答 2

1

脚本是异步加载的,所以你永远不知道哪个文件会先加载。很可能是字节数较少的一个。

如果您想按您提供的顺序加载脚本,请使用requirejs 之类的库。

于 2013-07-18T08:07:06.773 回答
0

我做了一个小例子并使用了对我有用的window.load 事件。在 SO 或jquery.load上查看这个问题

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="a.js"></script>
    <script src="b.js"></script>
</head>
<body>
    <script>
        window.addEventListener("load", function () {
            methodB();
        }, false);
    </script>
</body>
</html>
于 2013-07-18T08:23:43.447 回答