通过使用<script>
创建src
标记在vanilla JavaScript中使用JSONP,让我考虑在JavaScript插件和其他利用库但希望如同的JavaScript组件中使用相同的依赖注入方法尽可能独立。
使用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...
}
真的在这一点上它主要是概念性的(但确实有效),但我想知道这是否会被认为是JavaScript依赖注入的可接受解决方案?有什么想法吗?
答案 0 :(得分:1)
在实施此技巧之前,您应该考虑为什么需要它。在代码至关重要时使用该方法是可以接受的,并且必须在未知环境中使用。当您为外部网站构建Web插件时,请尝试强制开发人员包含所需的库。它更有效,也更可靠。
关于你的例子:把代码放在(匿名)函数中,不要用不必要的变量填充全局范围。
答案 1 :(得分:0)
是的,我认为这是google.load()
背后的概念。