通过动态注入JavaScript依赖项<;脚本>;标签 在JavaScript中使用J< Script,通过创建 标签,使用 SRC < /C> >,让我考虑在JavaScript插件和其他JavaScript组件中使用相同的方法来使用库,但希望尽可能独立。

通过动态注入JavaScript依赖项<;脚本>;标签 在JavaScript中使用J< Script,通过创建 标签,使用 SRC < /C> >,让我考虑在JavaScript插件和其他JavaScript组件中使用相同的方法来使用库,但希望尽可能独立。,javascript,jquery,dependency-injection,script-tag,Javascript,Jquery,Dependency Injection,Script Tag,使用jQuery作为可能需要注入的流行库的示例 // make sure we don't load it if already loaded. if (typeof jQuery === 'undefined') { var dependency = document.createElement('script'); dependency.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.j

使用jQuery作为可能需要注入的流行库的示例

// make sure we don't load it if already loaded.
if (typeof jQuery === 'undefined') {
    var dependency = document.createElement('script');
    dependency.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js";
    document.getElementsByTagName('head')[0].appendChild(dependency);
}

window.onload = function() {
    // jQuery is now available w/o the extra <script> tag added by the end user...
}
//如果已经加载,请确保不加载它。
if(typeof jQuery==‘未定义’){
var dependency=document.createElement('script');
dependency.src=”https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(依赖项);
}
window.onload=函数(){
//jQuery现在不需要最终用户添加的额外标记就可以使用了。。。
}

实际上,在这一点上,它主要是概念性的(但确实有效),但我想知道这是否会被认为是JavaScript依赖注入的可接受解决方案?有什么想法吗?

< P>是的,我相信这是背后的概念。

P >在实施这个技巧之前,你应该考虑为什么需要它。当代码非常重要并且必须在未知环境中使用时,使用该方法是可以接受的。在为外部网站构建web插件时,请尝试强制开发人员包含所需的库。它更高效,也更可靠


关于您的示例:将代码放入(匿名)函数中,以避免用不必要的变量填充全局范围。

hah,但这本身就是一个非注入依赖项。。。是吗?:)是的。关键在于,它不仅是一种有效的方法,而且是一家大型、备受尊敬的软件公司和库开发人员所使用的方法。我不是说你必须使用谷歌来使用这种技术。