首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Document.createElement(“脚本”)同步

Document.createElement(“脚本”)同步
EN

Stack Overflow用户
提问于 2010-07-15 00:34:09
回答 7查看 276.2K关注 0票数 86

是否可以同步调用.js文件,然后立即使用它?

代码语言:javascript
运行
复制
<script type="text/javascript">
    var head = document.getElementsByTagName('head').item(0);
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'http://mysite/my.js');
    head.appendChild(script);

    myFunction(); // Fails because it hasn't loaded from my.js yet.

    window.onload = function() {
        // Works most of the time but not all of the time.
        // Especially if my.js injects another script that contains myFunction().
        myFunction();
    };
</script>

这被简化了。在我的实现中,createElement的东西在一个函数中。我想在函数中添加一些东西,可以在返回控制之前检查某个变量是否被实例化。但还有一个问题是,当包含来自另一个我无法控制的站点的js时,该怎么做。

有什么想法?

编辑:

我已经接受了目前最好的答案,因为它很好地解释了正在发生的事情。但是,如果任何人对如何改进这一点有任何建议,我对他们持开放态度。下面是我想做的一个例子。

代码语言:javascript
运行
复制
// Include() is a custom function to import js.
Include('my1.js');
Include('my2.js');

myFunc1('blarg');
myFunc2('bleet');

我只想避免对内部结构了解太多,只想说:“我希望使用这个模块,现在我将使用其中的一些代码。”

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3248384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档