javascript – Lazy加载addthis脚本? (或延迟加载外部js内容取决于已经触发的事件)

我想为我的用户提供 addthis小部件,但是我想懒惰加载它,以便我的页面尽可能快地加载.但是,在通过脚本标记尝试之后,然后通过我的懒惰加载方法,它似乎只能通过脚本标记工作.在混淆的代码中,我看到一些看起来像是依赖于DOMContentLoaded事件(至少对于firefox).

由于DOMContentLoaded事件已被触发,所以该小部件无法正常呈现.该怎么办?

我可以使用脚本标签(较慢)…或者可以以跨浏览器方式触发DOMContentLoaded(或等效)事件?我有一种感觉,这可能是不可能的b / c我相信(像jQuery)有内容准备事件的多个测试,因此必须发生多个模拟事件.

尽管如此,这是一个有趣的问题b / c我看到几个小部件现在假设你通过静态脚本标签包括他们的东西.如果他们编写的代码对开发人员关心速度更有用,那将是很好的,但直到那时,是否有一个工作?和/或我的任何假设错误

编辑:
因为这个问题的第一个答案似乎错过了我的问题,所以我想澄清一下.

这是一个具体问题.我不是在寻找另一个懒惰的加载脚本或检查一些依赖关系是否加载脚本.具体这个问题处理

>你没有的外部小部件
控制,可能或不可能
被模糊
>延迟负载
外部小部件直到它们
需要或至少,直到
在其他事情之后
已经加载了其他延迟元素
> b / c的怎么样
该小部件是写的,排除
现有的,典型的延迟加载
范式

虽然它是深奥的,我已经看到它发生在几个小部件 – 小部件开发人员假设你只是愿意在页面底部扔另一个脚本标签.我正在寻找保存这些500-1000毫秒的**,尽管雅虎,谷歌和亚马逊的众多研究表明它对您的用户体验至关重要.

**我用锤头和个人经验的测试表明,这将是我在这种情况下的积蓄.

解决方法

最简单的解决方案是在将addthis脚本嵌入到页面中时将参数domready设置为1.这是一个例子:
<script type="text/javascript" 
src="http://s7.addthis.com/js/250/addthis_widget.js#username=addthis&domready=1">
</script>

我已经在IE,Firefox,Chrome和Safari上测试过,一切正常.有关addthis配置参数的更多信息可用here.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...