首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过内容单检查网页中变量的存在

问通过内容单检查网页中变量的存在
EN

Stack Overflow用户
提问于 2013-08-14 16:03:26
回答 1查看 26关注 0票数 0

我想有条件地在网页的DOM中插入几个javascript文件。我还想添加一个依赖项。

代码语言:javascript
复制
var load = function(filename, callback) {
   fileref  = document.createElement("script")
   fileref.setAttribute "type", "text/javascript"
   fileref.setAttribute "src", filename
   document.getElementsByTagName("head")[0].appendChild fileref
   if (typeof callback !== "undefined" && callback !== null) {
     callback();
   }
}

load("http://www.myserver.com/lib.js",
  function() { load("http://www.myserver.com/core.js") }
)

但是我想检查“lib.js”是否真的被执行了。为此,我希望等到lib.js中的变量可用为止。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 16:25:44

不要立即运行您的callback。因为内容脚本与它们的页面共享DOM,所以可以在DOM <script>元素上等待<script>事件:

代码语言:javascript
复制
var load = function(filename, callback) {
   fileref  = document.createElement("script");
   fileref.setAttribute("type", "text/javascript");
   fileref.setAttribute("src", filename);

   // fire callback when script loads
   fileref.addEventListener("load", function() {
       if (typeof callback !== "undefined" && callback !== null) {
         callback();
       }
   });

   document.getElementsByTagName("head")[0].appendChild(fileref);
}

load("http://www.myserver.com/lib.js",
  // this callback will run only after lib.js has fully loaded
  function() { load("http://www.myserver.com/core.js") }
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18236740

复制
相关文章

相似问题

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