Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Rename to lazyload

namespace is now lzld
add README
reorder code
  • Loading branch information...
commit cf74240cc0c24be88f2b9e008e5416e0722747ea 1 parent ddfde16
vvo authored
View
108 LL.js
@@ -1,108 +0,0 @@
-(function(window, document){
-
- function throttle(fn, minDelay) {
- var lastCall = 0;
- return function() {
- var now = +new Date;
- if (now - lastCall < minDelay) {
- return;
- }
- lastCall = now;
- // we do not return anything as
- // https://github.com/documentcloud/underscore/issues/387
- fn.apply(this, arguments);
- }
- }
-
- // cross browser event add
- function addEvent( el, type, fn ) {
- if (el.attachEvent) {
- el.attachEvent && el.attachEvent( 'on' + type, fn );
- } else {
- el.addEventListener( type, fn, false );
- }
- }
-
- // cross browser event remove
- function removeEvent( el, type, fn ) {
- if (el.detachEvent) {
- el.detachEvent && el.detachEvent( 'on' + type, fn );
- } else {
- el.removeEventListener( type, fn, false );
- }
- }
-
- function showIfVisible(img, index) {
- // 200 is the vertical offset used for preloading soon to be visible images
- if (img.getBoundingClientRect().top < winH + 200) {
- img.src = img.getAttribute(lazyAttr);
- img.removeAttribute(lazyAttr);
- // we do not use splice() as we could be in the checkImages's for loop
- imgs[index] = null;
-
- return true; // img shown
- } else {
- return false; // img to be shown
- }
- }
-
- function unsubscribe() {
- removeEvent(window, 'resize', getWindowHeightThrottle);
- removeEvent(window, 'scroll', checkImagesThrottle);
- }
-
- var
- lazyAttr = 'data-src',
- winH,
- imgs = [],
- pageHasLoaded,
-
- // cross browser window height
- getWindowHeightThrottle = throttle(function getWindowHeight() {
- winH = window.innerHeight ||
- (document.documentElement && document.documentElement.clientHeight) ||
- (document.body && document.body.clientHeight) ||
- 10000;
- }, 50),
-
- checkImagesThrottle = throttle(function checkImages() {
- var
- last = imgs.length,
- current,
- allImagesDone = true;
-
- for (current = 0; current < last; current++) {
- var img = imgs[current];
- // if showIfVisible is false, it means we have some waiting images to be
- // shown
- if(img !== null && showIfVisible(img, current) === false) {
- allImagesDone = false;
- }
- }
-
- if (allImagesDone && pageHasLoaded) {
- unsubscribe();
- }
- }, 20);
-
- // Indicates that the page is optimized
- window['fstrz'] = true;
- // Import any fzns object (Fasterize Name Space)
- window['fzns'] = window['fzns'] || {
- 'LL' : {
- 's' : function(el) {
- // To avoid onload being called and called and called ...
- el.onload = null;
- showIfVisible(el, imgs.push(el) - 1);
- }
- }
- };
-
- getWindowHeightThrottle();
- addEvent(window, 'resize', getWindowHeightThrottle);
- addEvent(window, 'scroll', checkImagesThrottle);
- addEvent(window, 'load', function() {
- pageHasLoaded = true;
- });
-
-})(this, document)
View
2  LL.min.js
@@ -1,2 +0,0 @@
-(function(b,e){function i(a,c){var d=0;return function(){var b=+new Date;b-d<c||(d=b,a.apply(this,arguments))}}function g(a,c,b){a.attachEvent?a.attachEvent&&a.attachEvent("on"+c,b):a.addEventListener(c,b,!1)}function j(a,b,d){a.detachEvent?a.detachEvent&&a.detachEvent("on"+b,d):a.removeEventListener(b,d,!1)}function k(a,b){return a.getBoundingClientRect().top<l+200?(a.src=a.getAttribute(m),a.removeAttribute(m),f[b]=null,!0):!1}var m="data-src",l,f=[],n,h=i(function(){l=b.innerHeight||e.documentElement&&
-e.documentElement.clientHeight||e.body&&e.body.clientHeight||1E4},50),o=i(function(){var a=f.length,c,d=!0;for(c=0;c<a;c++){var e=f[c];null!==e&&!1===k(e,c)&&(d=!1)}d&&n&&(j(b,"resize",h),j(b,"scroll",o))},20);b.fstrz=!0;b.fzns=b.fzns||{LL:{s:function(a){a.onload=null;k(a,f.push(a)-1)}}};h();g(b,"resize",h);g(b,"scroll",o);g(b,"load",function(){n=!0})})(this,document);
View
13 README
@@ -0,0 +1,13 @@
+Standalone javascript image lazy loader
+
+
+TODO:
+function elementInViewport(el) {
+ var rect = el.getBoundingClientRect()
+ return (
+ rect.top + rect.height >= 0 &&
+ rect.left + rect.width >= 0 &&
+ rect.bottom - rect.height <= window.innerHeight &&
+ rect.right - rect.width <= window.innerWidth
+ )
+}
View
2  index.js
@@ -1 +1 @@
-module.exports = require('fs').readFileSync(__dirname + '/LL.min.js', 'utf8');
+module.exports = require('fs').readFileSync(__dirname + '/lazyload.min.js', 'utf8');
View
121 lazyload.js
@@ -0,0 +1,121 @@
+(function(window, document){
+
+ var
+ // Vertical offset in px. Used for preloading images while scrolling
+ offset = 200,
+ //where to get real src
+ lazyAttr = 'data-src',
+ // Window height
+ winH,
+ // Self-populated page images array, we do not getElementsByTagName
+ imgs = [],
+ pageHasLoaded,
+
+ // throttled functions, so that we do not call them too much
+ getWindowHeightT = throttle(getWindowHeight, 50),
+ showImagesT = throttle(showImages, 20);
+
+ // Called from every lazy <img> onload event
+ window['lzld'] = onload;
+
+ // init
+ getWindowHeight();
+ addEvent(window, 'resize', getWindowHeightT);
+ addEvent(window, 'scroll', showImagesT);
+ addEvent(window, 'load', function() {
+ pageHasLoaded = true;
+ });
+
+ // Functions
+
+ function onload(img) {
+ // To avoid onload being called and called and called ...
+ img.onload = null;
+
+ // TODO : handle the case where we insert an image that will not be shown
+ // and we unsubscribed
+ showIfVisible(img, imgs.push(img) - 1);
+ }
+
+ // restrict some function calls
+ function throttle(fn, minDelay) {
+ var lastCall = 0;
+ return function() {
+ var now = +new Date;
+ if (now - lastCall < minDelay) {
+ return;
+ }
+ lastCall = now;
+ // we do not return anything as
+ // https://github.com/documentcloud/underscore/issues/387
+ fn.apply(this, arguments);
+ }
+ }
+
+ // cross browser event add
+ function addEvent( el, type, fn ) {
+ if (el.attachEvent) {
+ el.attachEvent && el.attachEvent( 'on' + type, fn );
+ } else {
+ el.addEventListener( type, fn, false );
+ }
+ }
+
+ // cross browser event remove
+ function removeEvent( el, type, fn ) {
+ if (el.detachEvent) {
+ el.detachEvent && el.detachEvent( 'on' + type, fn );
+ } else {
+ el.removeEventListener( type, fn, false );
+ }
+ }
+
+ // img = dom element
+ // index = imgs array index
+ function showIfVisible(img, index) {
+ if (img.getBoundingClientRect().top < winH + offset) {
+ img.src = img.getAttribute(lazyAttr);
+ img.removeAttribute(lazyAttr);
+ imgs[index] = null;
+ return true; // img shown
+ } else {
+ return false; // img to be shown
+ }
+ }
+
+ // cross browser window height
+ function getWindowHeight() {
+ winH = window.innerHeight ||
+ (document.documentElement && document.documentElement.clientHeight) ||
+ (document.body && document.body.clientHeight) ||
+ 10000;
+ }
+
+ function showImages() {
+ var
+ last = imgs.length,
+ current,
+ allImagesDone = true;
+
+ for (current = 0; current < last; current++) {
+ var img = imgs[current];
+ // if showIfVisible is false, it means we have some waiting images to be
+ // shown
+ if(img !== null && !showIfVisible(img, current)) {
+ allImagesDone = false;
+ }
+ }
+
+ if (allImagesDone && pageHasLoaded) {
+ unsubscribe();
+ }
+ }
+
+ // TODO : handle the case where we unsubscribed but a new image got inserted, like
+ // a waiting invisible javascript dom string
+ function unsubscribe() {
+ removeEvent(window, 'resize', getWindowHeightT);
+ removeEvent(window, 'scroll', showImagesT);
+ }
+
+})(this, document)
View
2  lazyload.min.js
@@ -0,0 +1,2 @@
+(function(d,e){function h(a,b){var c=0;return function(){var d=+new Date;d-c<b||(c=d,a.apply(this,arguments))}}function g(a,b,c){a.attachEvent?a.attachEvent&&a.attachEvent("on"+b,c):a.addEventListener(b,c,!1)}function i(a,b,c){a.detachEvent?a.detachEvent&&a.detachEvent("on"+b,c):a.removeEventListener(b,c,!1)}function j(a,b){return a.getBoundingClientRect().top<k+q?(a.src=a.getAttribute(l),a.removeAttribute(l),f[b]=null,!0):!1}function m(){k=d.innerHeight||e.documentElement&&e.documentElement.clientHeight||
+e.body&&e.body.clientHeight||1E4}var q=200,l="data-src",k,f=[],n,o=h(m,50),p=h(function(){var a=f.length,b,c=!0;for(b=0;b<a;b++){var e=f[b];null!==e&&!j(e,b)&&(c=!1)}c&&n&&(i(d,"resize",o),i(d,"scroll",p))},20);d.lzld=function(a){a.onload=null;j(a,f.push(a)-1)};m();g(d,"resize",o);g(d,"scroll",p);g(d,"load",function(){n=!0})})(this,document);
View
6 package.json
@@ -1,10 +1,10 @@
{
- "name": "LL",
- "description": "Lazy load my friend",
+ "name": "lazyload",
+ "description": "Image lazy loading",
"version": "0.5.2",
"repository": {
"type": "git",
- "url": "http://github.com/fasterize/LL.git"
+ "url": "http://github.com/fasterize/lazyload.git"
},
"private": true
}
View
0  imgs/1.jpg → test/imgs/1.jpg
File renamed without changes
View
0  imgs/10.jpg → test/imgs/10.jpg
File renamed without changes
View
0  imgs/11.jpg → test/imgs/11.jpg
File renamed without changes
View
0  imgs/12.jpg → test/imgs/12.jpg
File renamed without changes
View
0  imgs/13.jpg → test/imgs/13.jpg
File renamed without changes
View
0  imgs/14.jpg → test/imgs/14.jpg
File renamed without changes
View
0  imgs/15.jpg → test/imgs/15.jpg
File renamed without changes
View
0  imgs/16.jpg → test/imgs/16.jpg
File renamed without changes
View
0  imgs/2.jpg → test/imgs/2.jpg
File renamed without changes
View
0  imgs/3.jpg → test/imgs/3.jpg
File renamed without changes
View
0  imgs/4.jpg → test/imgs/4.jpg
File renamed without changes
View
0  imgs/5.jpg → test/imgs/5.jpg
File renamed without changes
View
0  imgs/6.jpg → test/imgs/6.jpg
File renamed without changes
View
0  imgs/7.jpg → test/imgs/7.jpg
File renamed without changes
View
0  imgs/8.jpg → test/imgs/8.jpg
File renamed without changes
View
0  imgs/9.jpg → test/imgs/9.jpg
File renamed without changes
View
32 test.html → test/test.html
@@ -1,38 +1,38 @@
<!doctype html>
<html>
<head>
- <script src="./LL.js"></script>
+ <script src="../lazyload.js"></script>
</head>
<body>
-<img data-src="imgs/1.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />a
+<img data-src="imgs/1.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />a
<div style="margin-top:300px"></div>
-<img data-src="imgs/2.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />b
+<img data-src="imgs/2.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />b
<div style="margin-top:300px"></div>
-<img data-src="imgs/3.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />c
+<img data-src="imgs/3.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />c
<div style="margin-top:300px"></div>
-<img data-src="imgs/4.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />d
+<img data-src="imgs/4.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />d
<div style="margin-top:300px"></div>
-<img data-src="imgs/5.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />e
+<img data-src="imgs/5.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />e
<div style="margin-top:300px"></div>
-<img data-src="imgs/6.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />f
+<img data-src="imgs/6.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />f
<div style="margin-top:300px"></div>
-<img data-src="imgs/7.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />g
+<img data-src="imgs/7.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />g
<div style="margin-top:300px"></div>
-<img data-src="imgs/8.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />h
+<img data-src="imgs/8.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />h
<div style="margin-top:300px"></div>
-<img data-src="imgs/9.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />i
+<img data-src="imgs/9.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />i
<div style="margin-top:300px"></div>
-<img data-src="imgs/10.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />j
+<img data-src="imgs/10.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />j
<div style="margin-top:300px"></div>
-<img data-src="imgs/11.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />k
+<img data-src="imgs/11.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />k
<div style="margin-top:300px"></div>
-<img data-src="imgs/12.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />l
+<img data-src="imgs/12.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />l
<div style="margin-top:300px"></div>
-<img data-src="imgs/13.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />m
+<img data-src="imgs/13.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />m
<div style="margin-top:300px"></div>
-<img data-src="imgs/14.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />n
+<img data-src="imgs/14.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />n
<div style="margin-top:300px"></div>
-<img data-src="imgs/15.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />o
+<img data-src="imgs/15.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />o
<script type='text/javascript' src='http://1.cuzillion.com/bin/resource.cgi?type=js&sleep=5&n=1&t=1328809296'></script>
</body>
</html>
View
32 test_minified.html → test/test_minified.html
@@ -1,38 +1,38 @@
<!doctype html>
<html>
<head>
- <script src="./LL.min.js"></script>
+ <script src="./lazyload.min.js"></script>
</head>
<body>
-<img data-src="imgs/1.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />a
+<img data-src="imgs/1.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />a
<div style="margin-top:300px"></div>
-<img data-src="imgs/2.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />b
+<img data-src="imgs/2.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />b
<div style="margin-top:300px"></div>
-<img data-src="imgs/3.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />c
+<img data-src="imgs/3.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />c
<div style="margin-top:300px"></div>
-<img data-src="imgs/4.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />d
+<img data-src="imgs/4.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />d
<div style="margin-top:300px"></div>
-<img data-src="imgs/5.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />e
+<img data-src="imgs/5.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />e
<div style="margin-top:300px"></div>
-<img data-src="imgs/6.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />f
+<img data-src="imgs/6.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />f
<div style="margin-top:300px"></div>
-<img data-src="imgs/7.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />g
+<img data-src="imgs/7.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />g
<div style="margin-top:300px"></div>
-<img data-src="imgs/8.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />h
+<img data-src="imgs/8.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />h
<div style="margin-top:300px"></div>
-<img data-src="imgs/9.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />i
+<img data-src="imgs/9.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />i
<div style="margin-top:300px"></div>
-<img data-src="imgs/10.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />j
+<img data-src="imgs/10.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />j
<div style="margin-top:300px"></div>
-<img data-src="imgs/11.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />k
+<img data-src="imgs/11.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />k
<div style="margin-top:300px"></div>
-<img data-src="imgs/12.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />l
+<img data-src="imgs/12.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />l
<div style="margin-top:300px"></div>
-<img data-src="imgs/13.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />m
+<img data-src="imgs/13.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />m
<div style="margin-top:300px"></div>
-<img data-src="imgs/14.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />n
+<img data-src="imgs/14.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />n
<div style="margin-top:300px"></div>
-<img data-src="imgs/15.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=fzns.LL.s(this) />o
+<img data-src="imgs/15.jpg" src=data:image/gif;base64,R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= onload=lzld(this) />o
<script type='text/javascript' src='http://1.cuzillion.com/bin/resource.cgi?type=js&sleep=5&n=1&t=1328809296'></script>
</body>
</html>
Please sign in to comment.
Something went wrong with that request. Please try again.