如何在用户脚本中集成第三方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