提供嵌入脚本的最佳方式
Best way to provide embedding script?
我提供了可嵌入的内容,并通过脚本标记分发。当用户在页面的HTML中包含脚本标记时,它会在执行时将相关内容注入DOM。它们可能在同一页面中包含多个这样的嵌入脚本。
嵌入脚本有许多依赖项(jQuery、Google jsapi、Google Fusion表)。如果嵌入脚本的前一个实例或编写页面其余部分的人还没有加载这些脚本,我希望能够加载它们。
主要有趣的部分:
- 我的嵌入脚本可能在一个人的页面中存在多次
- 我有外部依赖关系
- 我希望能够用我的脚本绑定到事件(
google.maps.event.addDomListener
),所以我需要等待这些脚本加载 - 我想避免干扰嵌入程序的页面
有没有一个共同的模式来实现这一点?
由于我使用的是Google JS Loader,并且依赖项与它兼容,所以我正在利用它。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
function things_loaded() {
if(window.THING_MAPS) {
for (var mapI = 0; mapI < window.THING_MAPS.length; mapI++) {
window.THING_MAPS[mapI]();
}
window.THING_MAPS = [];
}
}
if (!window.THING_MAPS_LOADED) {
google.load("jquery", "1.7.0");
google.load("maps", "3", {other_params:'sensor=false', callback: things_loaded});
window.THING_MAPS_LOADED = true;
}
</script>
相关文章:
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 为react组件传递道具的最佳方式
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 在ng重复循环中显示条件内容的最佳方式是什么
- 在phonegap中为android调用onload函数的最佳方式
- 链接两个网页或网络应用程序的最佳方式
- 什么's是连接供应商js文件的最佳方式
- 什么's是在javascript中迭代项的最佳方式
- 在node.js中编写单元测试的最佳方式是什么
- 在页面上记录数据并实现pushstate()的最佳方式
- 使用AJAX在Rails中提交动态表单的最佳方式是什么
- 什么'这是加载jQuery的最佳方式
- 将大数组(字符串和类型数组的混合物)存储到blob或文件中/从blob或文件检索大数组的最佳方式
- 在网站上显示.mov作为加载屏幕的最佳方式
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 以角度渲染表中数据的最佳方式
- 删除集合中旧邮件/帖子的最佳方式
- 显示全屏Ajax加载程序的最佳方式
- PHP和JS中表单验证的最佳方式