使用脚本加载器注入脚本访问全局变量

时间:2012-01-31 04:51:32

标签: javascript dynamic-script-loading

我正试图围绕使用异步脚本加载器(head.js,yepnope等)的特殊细微之处。我有一个像这样的页面设置:

<body>
    <script type="text/javascript" scr="yepnope.js"></script>
    <script type="text/javascript">
        var important_stuff = { "key" : "value", "another key" : "value"};
        yepnope([
            { load: "some/script.js" },
            { load: "another/script.js" }
        ]);
    </script>
</body>

当我在Firebug中检查此页面的结果HTML时,我注意到yepnope已将两个脚本的<script>标记注入其自己的标记之上。我的问题是:用yepnope加载的2个脚本是否可以访问important_stuff全局变量,即使它们被注入上面定义的位置?感谢。

1 个答案:

答案 0 :(得分:2)

所有全局变量都是全局变量。加载和定义后,它可用于当时存在的所有内容或稍后加载的所有内容。因此,只关注加载顺序,而不是插入脚本标记的位置。

如果在定义全局变量后顺序加载两个动态加载的脚本,那么无论脚本标记的顺序如何,它们都可以访问全局变量。