Greasy Fork

LoadScript

一个用于按顺序加载外部js的脚本的库

目前为 2015-05-27 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.icu/scripts/10108/54087/LoadScript.js

// ==UserScript==
// @name        LoadScript
// @namespace   brambles
// @version     1
// @grant       none
// ==/UserScript==
  var LoadScript = function LoadScript(urls, callback) {
    var _loadScript = arguments.callee;
    var head = document.head;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.async = 'true';
    if (typeof urls === 'string') {
      var urls = [
        urls
      ];
    }
    if (!Array.isArray(urls)) {
      throw 'type error';
    }
    if (urls.length > 1) {
      script.onload = script.onerror = function () {
        _loadScript(urls.slice(1), callback);
      };
    } 
    else {
      script.onload = script.onerror = callback;
    }
    script.src = urls[0];
    head.insertBefore(script, head.firstChild);
  };