在页脚中加载时从外部JS文件运行函数

时间:2013-10-30 20:28:46

标签: javascript jquery

假设我们有以下页面:

<html>
    <head>
    </head>
    <body>

    <script src="jQuery.js"></script>
    <script src="myFile.js"></script>
    <script>
        $(document).ready(function() {
            test();
        });
    </script>
    </body>
</html>

myFile.js看起来像这样:

$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
});

然后console.log将输出以下错误:

Uncaught ReferenceError: test is not defined

我宁愿不在<head>中包含我的.JS文件(我认为这样可以解决问题)因为在HTML页面的页脚之后加载它会更加干净。

有关如何等待test();运行,直到加载myFile.js的任何想法?

1 个答案:

答案 0 :(得分:2)

如果要在其他地方使用它,则需要在全局范围内定义test。此外,如果代码位于页脚中,则无需等待文档准备就绪。

//$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
    // add it to global scope
    // window.test = test;
//});

<script>
    //$(document).ready(function() {
        test();
    //});
</script>