编程语言
首页 > 编程语言> > 如何在用户脚本中集成第三方JavaScript库

如何在用户脚本中集成第三方JavaScript库

作者:互联网

对于我正在编写的此用户脚本,我需要使用具有3个JavaScript文件的第三方JavaScript库.由于@require在Chrome上不起作用,如何将多个外部JavaScript库添加到用户脚本?在选择一种可能性之前,我正在考虑所有可能性.

我知道您可以使用this方法添加jQuery.我个人使用过.是否可以使用此替代方法添加其他库?

解决方法:

尝试在用户脚本中添加以下功能,

/**
 * Dynamically loading javascript files.
 *
 * @param filename url of the file
 * @param callback callback function, called when file is downloaded and ready
 */
function loadjscssfile(filename, callback) {
    var fileref = document.createElement('script')
    fileref.setAttribute("type", "text/javascript")
    fileref.setAttribute("src", filename)
    if (fileref.readyState) {
        fileref.onreadystatechange = function() { /*IE*/
            if (fileref.readyState == "loaded" || fileref.readyState == "complete") {
                fileref.onreadystatechange = null;
                callback();
            }
        }
    } else {
        fileref.onload = function() {  /*Other browsers*/
            callback();
        }
    }

    // Try to find the head, otherwise default to the documentElement
    if (typeof fileref != "undefined")
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(fileref)
}

由于文件是异步加载的,因此不能保证文件的加载顺序,因此
对于多个外部文件,请在受限制的函数中调用此函数,例如

loadjscssfile("http://code.jquery.com/jquery-1.6.3.min.js", function() {
    loadjscssfile("http://www.abc.org./script/otherFile.js", function() {
       // call your function that depends on the external libriries here.
     });
});

根据需要链接尽可能多的外部文件,将正确保留加载文件的顺序.希望这会有所帮助

标签:userscripts,javascript
来源: https://codeday.me/bug/20191101/1986943.html