Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 通过内容摘要检查网页中是否存在变量_Google Chrome_Google Chrome Extension - Fatal编程技术网

Google chrome 通过内容摘要检查网页中是否存在变量

Google chrome 通过内容摘要检查网页中是否存在变量,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我想有条件地在网页的DOM中插入几个javascript文件。我还想添加一个依赖项 var load = function(filename, callback) { fileref = document.createElement("script") fileref.setAttribute "type", "text/javascript" fileref.setAttribute "src", filename document.getElementsByTagN

我想有条件地在网页的DOM中插入几个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中的变量可用。如何操作?

不要立即运行
回调。由于内容脚本与其页面共享DOM,因此您可以等待DOM
元素上的
load
事件:

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") }
)

加载事件是否确保脚本的执行?@Alagu是,
元素的
加载事件仅在脚本运行后触发。