免责声明:JS新手
我有一个依赖于 JQuery 的 JS 小部件。该小部件将嵌入到第 3 方站点中,但我弄清楚如何避免在小部件托管页面上声明对 jquery 的依赖:
第 3 方页面:
<head>
<script
type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script
type="text/javascript"
src="http://mydomain/mywidget.js"></script>
</head>
mywidget.js
jQuery(document).ready(function() {
//do stuff
});
我不想在 3d 派对页面中包含 jquery.js,而是在 mywidget.js 中表达依赖关系(这样我就可以更改此依赖关系或添加/删除其他依赖关系,而无需更新小部件托管页面)
我尝试添加:
var script = document.createElement('script');
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
到 mywidget.js 的顶部,但这不起作用 - jquery.js 确实在页面加载时加载,但无法识别“jQuery”。
有效的方法是将 jquery.js 和 mywidget.js 连接到一个 .js 文件中。但这似乎有点蹩脚——没有相当于吗?
import com.jquery.*;
谢谢!
最佳答案
在您的脚本中,您的小部件代码在附加脚本元素后立即执行,但需要等到脚本也下载并编译!要实现此目的,请使用以下代码:
script.onload = function(){
// ------ Your widget code here ------
}
关于javascript - 是连接一个 JS 库到另一个 'import' 的唯一方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680429/