从动态加载的外部JS文件中调用正文中的函数

时间:2012-03-14 08:49:54

标签: javascript

我有一个外部JS文件:

console.log("DEBUG1");

function Function1() {
    console.log("DEBUG2");
}

function Function2() {
    console.log("DEBUG3");
}

我想在头部加载这个JS文件,然后在body onLoad事件发生之前调用body中的函数Function1()。 Here,我试过all these solutions:只有第一个有效,但我想避免使用它。

例如,解决方案2是:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <script type="text/javascript"></script>
        <script type="text/javascript">
            document.getElementsByTagName("head")[0].getElementsByTagName("script")[0].src = "JS.js";
        </script>
    </head>

    <body onLoad="javascript:Function2();">
        <script type="text/javascript">
            Function1();
        </script>
    </body>
</html>

如何解决这个问题(不使用解决方案1)?

2 个答案:

答案 0 :(得分:0)

使用脚本标记的onreadystatechange事件。

检查此链接 http://unixpapa.com/js/dyna.html

答案 1 :(得分:0)

var script_tag = document.getElementsByTagName("head")[0].getElementsByTagName("script")[0];
script_tag.onload = function() {
  Function1();
}
script_tag.src = "JS.js";