我们有一个同时使用 google 闭包和 dojo 库的应用程序。我们的索引页面中有以下内容,可以按预期工作:
<script type="text/javascript" src="runtime/src/lib/google-closure-rev26/closure/goog/base.js"></script>
<script type="text/javascript" src="runtime/src/lib/dojo_release_132_src/dojo/dojo.js"></script>
<script type="text/javascript" src="runtime/src/core/loader.js"></script>
我们希望在实际的 html 源代码中只使用一个 script 标签。因此,我们尝试执行以下操作:
<head>
<script type="text/javascript" src="runtime/src-bootstrap.js"></script>
</head>
然后在 src-bootstrap.js 中:
var head = document.getElementsByTagName("head")[0];
var s1 = document.createElement("script");
s1.type = "text/javascript";
s1.src = "runtime/src/lib/google-closure-rev26/closure/goog/base.js";
var s2 = document.createElement("script");
s2.type = "text/javascript";
s2.src = "runtime/src/lib/dojo_release_132_src/dojo/dojo.js";
var s3 = document.createElement("script");
s3.type = "text/javascript";
s3.src = "runtime/src/core/loader.js";
head.appendChild(s1);
head.appendChild(s2);
head.appendChild(s3);
但是,这在 FF 中不起作用。core/loader.js 在 dojo 完全加载之前运行。任何想法为什么这不起作用?