crapLoader - 异步JS脚本加载器
openkk
12年前
crapLoader.js 是一个 JavaScript 库,用来通过 document.write 加载例如广告、wedgets 以及其他 JS 代码。正常情况下 document.write 输出内容不是异步的,但该库可通过异步方式来执行所加载的代码。
主要特点:
- 异步的加载第三方脚本
- 不会堵塞当前页面的渲染
- 你的访客可更早的看到网页内容
- DOMContentLoaded (a.k.a. $(doc).ready ) and window.onload triggered earlier
- 并行加载 Banners ,除了 IE
- Banners 加载更快,至少在理论上是这样
- 处理递归脚本
- Inline and external javascript
- Inline and external vbscript
- 缓冲 document.write, flush on script load event
- Handles document.getElementById from the buffer
- Tested (manually) in IE 6-10, latest Firefox, Chrome, Safari, Opera
示例代码:
<script type="text/javascript" src="crapLoader.js"></script> <div id="banner1"></div> <div id="banner2"></div> <script type="text/javascript"> crapLoader.loadScript("http://foo.bar/ad1.js", "banner1", { succsess: function() { if( !$("#banner1 img").is("[src $= 1px.gif]") ) { // if not an empty gif $("body").addClass("dominance"); // it's a dominance ad! } } }); crapLoader.loadScript("http://foo.bar/ad2.js", "banner2", { charset: "iso-8859-1" }); </script>