{"_id":"lazyloadxt","_rev":"44-38b4ff4221cc908877b324a1be1c9915","name":"lazyloadxt","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","dist-tags":{"latest":"1.1.0"},"versions":{"0.8.0":{"name":"lazyloadxt","version":"0.8.0","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"https://github.com/ressio/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["lazy","load","jquery","images","video","media"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.0","dist":{"shasum":"3360ace9d3f712ce20da420ed6a817d757a596b7","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.0.tgz","integrity":"sha512-hIMXwHQQqfz6hF+E8Z306xYEw15CMDSrLGflf62tSeK8fQJGwk7G1n4b/qP3U3Fn1D+LUtSGIKmn/VDNOP/TpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrBCJKuD5Du1XbLAjUNMlkmCciyPZlS2hfPoUNYpgzOQIhANOTiqswPhgSvhA6DEANvcu25AwEmlgMRAi5lLH4bU8c"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.1":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.1","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"https://github.com/ressio/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["lazy","load","jquery","images","video","media"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.1","dist":{"shasum":"9cfcf6fb3294d6a2e54949c3c0e9cf14141ad556","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.1.tgz","integrity":"sha512-RHdWRJflK8LixOT6ZDAacPOUSYk1drQiHz5hjXk/O05+VwRfceMfEFtm55sMfcCeUdjjqq2WosFpk4i+857zzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSK+OameEsGy8NC2juylmD1E5qOsxkTKd4G6DQITHftQIhAMSMg4kewpB2Xo4drttCs2nD6XyiOG7x5hZKpZ61K+HK"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.2":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.2","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"https://github.com/ressio/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["lazy","load","jquery","images","video","media"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.2","dist":{"shasum":"0130f494bd76a47768a2acc619d7aa3d41701168","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.2.tgz","integrity":"sha512-xX+5O5xZVmnC/amBFIoSmrGH0pEEpLrpV+yp7/iOIpjTzLwtJXe4nR5HJEp7EI5Jqx5gAlCdMBpfRCzNVAaDog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvOJWX123096Q/Trk2fdjqZrwT9ACqD/xiT6YDqAQHvQIgddsTjqE4eKny4GpNFPSp7ExQK1wkKFwBITYb0w33nTc="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.3":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.3","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"https://github.com/ressio/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","lazy","lazyload","load","media","responsive","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.3","dist":{"shasum":"c80accae2280d29ce9868d300d22a66339ecae63","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.3.tgz","integrity":"sha512-n14ACaiZPfLaEeK5qxofYkQYm6FJg9+4tQjAaRZ0euA9flYook09vL/39B0VKHYb8XIHjiyN2EY4MJU+kyx3iw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+paUTizOGnwe2Ivfp+/HpxcUR9VIUhBI+tMNssS+RWAIhAIhW2J9PHdF4DdLvdgLiYb70rVsRGlBfUgdP3lN0MLyi"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.4":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.4","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"https://github.com/ressio/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.4","dist":{"shasum":"ad3beecaf16bd43edf14f0d8321967a6b15d517a","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.4.tgz","integrity":"sha512-N+uxz/5/8yEyU6cL3H4NIhBtQ1MbbMohRwNhfQHiv1WeXWNpin6qDNoUyo0ahqtp2q+w4E6oTk6AdYwv+LYcTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDv5tWUKndQfqXQPA3kRf1vADdjsBdQZr0DOFBkH2H+gIge88Ow0UAu/knAmPIhwMS6AkTvKukWtwmLWAn/GrvAW4="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.5":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.5","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.5","dist":{"shasum":"48fd62f8a23fed6190e2d14dd3f4267dfd280b41","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.5.tgz","integrity":"sha512-3bkJgHng5kRoNg7ctVzYB1HlpBoWRD4+0uxR9mhxP9TUWEKx4EN4PEZshR5WPHNAfMP/XJDN2v94PujUDR931w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFIW2M+HuXYUgv89+mb+ba4+uhWC8id9wBhG3KtMMFsGAiByOHo2jzI0Y5JlO9rG56G4DBH3g25K0Xd5aPvl2muMhg=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.6":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.6","description":"Lazy Load XT is a jQuery plugin for images, videos and other media","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.6","dist":{"shasum":"251758b1978e72d8d29a9c65c805f914aac5eb44","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.6.tgz","integrity":"sha512-LOXt2V5GeOGCHKXsC0J4kyUIXceVWiKzeo9xyvG7dDNbs8p7AmnvNae7yAPzH4QfuM2v91gS0YvGmlHamIbxzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtLtNq0OP8kuzG+PYEpAOl8CNXyMvdMxQCWN1F6Db6kQIhAMUvDmkRlNj6j/uPYtYfUQNvh9z5Pkbf8DPZb5Cx+r1I"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.8":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.8","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.8","dist":{"shasum":"21ee11176c9c7f31551f77b04563c1eac4caf2eb","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.8.tgz","integrity":"sha512-b4rRRGxSzm4n1gh6e0UiV9LeDOupLxU+u7CHiyAvDkJX4gxAi3TsoUJ4Ic7H+MCkfrTeTkr2T3YLSBbn+XQbMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFK4gl/o2COELWaHVrdG58oQ8bRjF9+DSwtxCa/k8RugIhAMDXzVRx2qschctoH0BTyduzog7vlR450FdJg0cBDS89"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.9":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.9","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"npmName":"lazyloadxt","npmFileMap":[{"basePath":"/dist/","files":["*"]}],"_id":"lazyloadxt@0.8.9","dist":{"shasum":"a35da45893391203af111b2e9549e10c4a63ce60","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.9.tgz","integrity":"sha512-yTj9fITew+atH03h9zhKnVYyOaiW0w0cJtV8C0AN2C6MGVnTWBKmkmlmcavggKKNnQGD0kLFgNjwLv+RgcLpww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBf3+IFspKcwGH88V3/5V9xvMV1IcPOdwq7TgxO5EACrAiBLReOrFsOZnGkZjQVWMmeUCGJ+7KiHazvhICbt4UUdOw=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.10":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.10","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.10","dist":{"shasum":"5c3db8936f37fdd03ea8b747b36873b6f9b9c606","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.10.tgz","integrity":"sha512-debxhSdfpe5w4buwzYqyI11VUKjusRN48Mlb4W2FjRdI5j/mfJKYDoh+uuse713rVL7PUhz+gZ41l+1DCENZAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/6e0Cddj/9bo54fWLfe+hCVo4NuFYAXdA3Icbb5qtMwIhANLnxTqtvJ3041XPXRBOuloE0wuKwOwnl/+dExI6X0Io"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.11":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.11","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.11","dist":{"shasum":"c52023c9489b6fc22f8ee0f67c8d50ac3ce8b75b","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.11.tgz","integrity":"sha512-IpNDdsSNjlklWoClk+GfQFlRQOjEgQAU7gBYYF2idnDF2SrxROs1Vptt7o1qxOSbm2H9AkE6+zlELay5ypN4xA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrCAiRxWZvVtlkROJNQP36XD7psFLgL1oCUnjJRx71UAIhANeBID3zyNFlDydkvD7BNUlhWr2x/TiriNHEzk0p/2W6"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"0.8.12":{"name":"lazyloadxt","title":"Lazy Load XT","version":"0.8.12","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@0.8.12","dist":{"shasum":"fce454dd61dc0b79ecc8eaade9d574a562be5a78","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-0.8.12.tgz","integrity":"sha512-gmFp1DzXaPo3w+frRw8dLiTgcURaLSq2eY3EW1N88TP2JdijEoPWPgkaYmkt25Li1eSRBHqlMmtqFeR+DHg3ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmrOODvx+0m+ek9M/tlY1R+RdYo7rDpmTRdptkEffMeAIgZk3EAXMv4jzC1130Pzl/Anigdngsog952RpIbQALEXA="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"1.0.0":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.0","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.11","grunt-contrib-clean":"~0.4.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-qunit":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-cssmin":"~0.6.0","grunt-contrib-watch":"~0.4.0"},"_id":"lazyloadxt@1.0.0","dist":{"shasum":"0c8e3fe9e542e527baa01d3b58e1a93584c65fdb","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.0.tgz","integrity":"sha512-OVUBeU6L7fSh+njEzU3ZcWdFbAV+hESBll9EHkEJEFTSAeLk0UMuRMjHb5r8uvqMnG1ZNJdvk54JVYnNoNhCYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8cr4M71WTzFpT8CcUvuTg28j8RqBdo67QjwuAqoWmkAIhAN1sZpYm6RcWQRGoi4AOsuvZ31aEmDGE0RthN+hxcfP4"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"1.0.1":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.1","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.13","grunt-contrib-clean":"~0.5.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-qunit":"~0.4.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-cssmin":"~0.7.0","grunt-contrib-watch":"~0.5.3"},"_id":"lazyloadxt@1.0.1","dist":{"shasum":"e9e87bacb718e8f7325325d68d10b6f0a86fd73d","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.1.tgz","integrity":"sha512-iEl8Tg1TN31OvuH5C54rIfsZfFdW4JkhIYA68HdAEuQFEADqQFSFgvm0QrJnLTNH0ytoOdsEb/H6Q9eWOriy1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEL4iOpOMV7x8X5Wd0cC9dG6sI3vHR5mX0H6PPCTYyjdAiEAnrXtFRvcGBAVtO++GP8mceGDyZZxTUAh/vRnrj4EfxI="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"1.0.2":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.2","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.13","grunt-contrib-clean":"~0.5.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-qunit":"~0.4.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-cssmin":"~0.7.0","grunt-contrib-watch":"~0.5.3"},"_id":"lazyloadxt@1.0.2","dist":{"shasum":"9780bd263a314749a7f9eacb06617a0854ca54f0","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.2.tgz","integrity":"sha512-E8owkqU9cLEuHEJ679FN5hhfbXntkqAtzi4h1mrGmsik4mroKxeHSyFoAZFaFIbYVqhZg4g+del0bfmitBHkmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFIwPVGMAWNO+ixvg76pYlmr1zxcZ9k0KrZUlTLlTR2JAiEA2pZ48Zq9ew0Ur+RKC8d1RuJaZvGtMgF3rSC4viDFBh0="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]},"1.0.3":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.3","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.13","grunt-contrib-clean":"~0.5.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-qunit":"~0.4.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-cssmin":"~0.7.0","grunt-contrib-watch":"~0.5.3"},"_id":"lazyloadxt@1.0.3","_shasum":"17f60fa0bb3f3ff3eb681662bd16e7e2ad15b741","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}],"dist":{"shasum":"17f60fa0bb3f3ff3eb681662bd16e7e2ad15b741","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.3.tgz","integrity":"sha512-ODwE9+KYoY1eAUxYdJpYLWAAUK2UijGKWEIFw0qUmwnTreMhvWqVyYMAkBOX4We+iocc5VK/nK2k3F24QSFQcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNMzmxFjODjpmz1ofknjHSiQSvSmXTcuCp2Lbr6UZM/gIhAK/5ZnM+EE2dug7kuFFDiE5ZXXMKXqzIkvk0oQT/AJZS"}]}},"1.0.4":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.4","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.13","grunt-contrib-clean":"~0.5.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-qunit":"~0.4.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-cssmin":"~0.7.0","grunt-contrib-watch":"~0.5.3"},"_id":"lazyloadxt@1.0.4","_shasum":"edb86eb753989b7666183df0121f9ca32b8dd6d3","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}],"dist":{"shasum":"edb86eb753989b7666183df0121f9ca32b8dd6d3","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.4.tgz","integrity":"sha512-7CnM6GXwHQp470e801V3gRl7hVyM+L3sG0/DFvVN3d1cf//J93RKhX2tuO5se2cBI86ttbF+zusjw8GC/Wu1VQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEFmjuOd0ZuWf2gMnZ4vXtLD6NgwICw4kEki/98Osx7QIga2tSsBoyUCUvHmeVaXKaVCIEZbjuCTWuGXhTWEySBdU="}]}},"1.0.5":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.0.5","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["effect","image","images","jquery","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.13","grunt-contrib-clean":"~0.5.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-qunit":"~0.4.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-cssmin":"~0.7.0","grunt-contrib-watch":"~0.5.3"},"_id":"lazyloadxt@1.0.5","_shasum":"7a573cee1414ed5b1cce75ecb9aef5942738b4a0","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}],"dist":{"shasum":"7a573cee1414ed5b1cce75ecb9aef5942738b4a0","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.0.5.tgz","integrity":"sha512-upQKbBjpjXkqZGF8LaB0zuU/1Yvh+7gz4NR3LuYapEttzsmw/x+hLga7e5p9tOVaooGaYdBiWQaHYGSM6BpOUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXnbssNadSwi72nFbsQ1Z+weNKFVVabSYjL5DIdNOAPAiEA7Eph1VL6HI3+ZYlpAqFsAzSFGkMwEGxvG0713AI+/Yc="}]}},"1.1.0":{"name":"lazyloadxt","title":"Lazy Load XT","version":"1.1.0","description":"Lazy Load XT is mobile-oriented, fast and extensible jQuery plugin for lazy loading of images, videos and other media with built-in support of jQueryMobile framework. It improves performance of website by loading visible media elements only, and elements ","homepage":"http://ressio.github.io/lazy-load-xt","author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"keywords":["jquery-plugin","effect","image","images","jquery","bootstrap","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/ressio/lazy-load-xt/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"build":"npm install && grunt","start":"grunt watch","test":"grunt qunit"},"dependencies":{},"devDependencies":{"grunt":"~0.4.5","grunt-cli":"~0.1.13","grunt-contrib-clean":"^0.7.0","grunt-contrib-concat":"^0.5.1","grunt-contrib-copy":"^0.8.2","grunt-contrib-cssmin":"^0.14.0","grunt-contrib-jshint":"^0.11.3","grunt-contrib-qunit":"^0.7.0","grunt-contrib-uglify":"^0.11.0","grunt-contrib-watch":"^0.6.1","jit-grunt":"^0.9.1"},"gitHead":"ceb021d6404bea539ee8655123d8954b7a5f716e","_id":"lazyloadxt@1.1.0","_shasum":"e65eb43f9bf5407e4a8eba35eadbe7ddd9c799f9","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"ressio","email":"denis@mobilejoomla.com"},"dist":{"shasum":"e65eb43f9bf5407e4a8eba35eadbe7ddd9c799f9","tarball":"https://registry.npmjs.org/lazyloadxt/-/lazyloadxt-1.1.0.tgz","integrity":"sha512-6cGtHoz5XFOR2PAkDDX+L23NfOYEqMZCz8pAiBOlgrYdn/sZtPfdUWpiJq6hi3Onazo8a+OEoByuPtH7HfdQbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEmcIrpAy9FY/NGEAH7Ix9GbufnTd+Nu+5ovV35kpOJQIhAPOmeeaoIKglxvP0K/d6v5sIkNjbbV+5Pys7vGYzxra9"}]},"maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}]}},"readme":"# Lazy Load XT jQuery plugin\n\n---\n\n## Table of Contents\n\n- [About](#about)\n- [Download / Install](#download--install)\n- [Usage](#usage)\n- [jQLight](#jqlight)\n- [Demo](#demo)\n- [Advanced initialization](#advanced-initialization)\n- [Browsers with disabled JavaScript](#browsers-with-disabled-javascript)\n- [Options](#options)\n- [Events](#events)\n- [More than images](#more-than-images)\n    - [`<iframe>`-embedded Videos (YouTube, Vimeo, etc.)](#iframe-embedded-videos-youtube-vimeo-etc)\n    - [Support `<video>` tag](#support-video-tag)\n- [Extendability](#extendability)\n    - [Spinner](#spinner)\n    - [Fade-in animation](#fade-in-animation)\n    - [Animate.css](#animatecss)\n    - [Horizontal scroll](#horizontal-scroll)\n    - [Infinite scroll](#infinite-scroll)\n    - [Hi-DPI (Retina) images](#hi-dpi-retina-images)\n    - [AJAX](#ajax)\n    - [Support of IE6/7](#support-of-ie6-7)\n- [Addons](#addons)\n    - [Bootstrap and jQueryMobile](#bootstrap-and-jquerymobile)\n    - [Video](#video)\n    - [Responsive images](#responsive-images)\n    - [Widgets](#widgets)\n    - [Print](#print)\n    - [Background image](#background-image)\n    - [`<script>`-based tagging](#script-based-tagging)\n    - [Deferred autoload](#deferred-autoload)\n- [Example of page preparation in PHP](#example-of-page-preparation-in-php)\n- [CDN](#cdn)\n- [Version History](#version-history)\n- [License](#license)\n\n\n## About\n\nMobile-oriented, fast and extensible jQuery plugin for lazy loading of images/videos.\n\nCurrently tested in IE 6-11, Chrome 1-47, Firefox 1.5-43.0, Safari 3-9, Opera 10.6-34.0, iOS 5-9, Android 2.3-5.1,\nAmazon Kindle Fire 2 and HD 8.9, Opera Mini 7.\n\n**Requires jQuery 1.7+, Zepto 1.0+, DOMtastic 0.7.3+ built with `--jquery-compat`, or [jQLight](#jqlight).**\n\n\n## Download / Install\n\n<table>\n  <tbody>\n    <tr>\n      <td>Dev version:</td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.js\">jquery.lazyloadxt.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.extra.js\">jquery.lazyloadxt.extra.js</a></td>\n    </tr>\n    <tr>\n      <td>Minified version:</td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.min.js\">jquery.lazyloadxt.min.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.extra.min.js\">jquery.lazyloadxt.extra.min.js</a></td>\n    </tr>\n  </tbody>\n</table>\n\nEffects:\n\n<table>\n  <tbody>\n    <tr>\n      <td>Dev version:</td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.fadein.css\">jquery.lazyloadxt.fadein.css</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.spinner.css\">jquery.lazyloadxt.spinner.css</a></td>\n    </tr>\n    <tr>\n      <td>Minified version:</td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.fadein.min.css\">jquery.lazyloadxt.fadein.min.css</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.spinner.min.css\">jquery.lazyloadxt.spinner.min.css</a></td>\n    </tr>\n  </tbody>\n</table>\n\nAddons:\n\n<table>\n  <tbody>\n    <tr>\n      <td><a href=\"#script-based-tagging\">script-based tagging of lazy loaded elements</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.script.js\">[jquery.lazyloadxt.script.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.script.min.js\">jquery.lazyloadxt.script.min.js</a></td>\n    </tr>\n    <tr>\n      <td><a href=\"#responsive-images\">Responsive images and srcset</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.srcset.js\">jquery.lazyloadxt.srcset.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.srcset.min.js\">jquery.lazyloadxt.srcset.min.js</a></td>\n    </tr>\n    <tr>\n      <td><a href=\"#print\">Print</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.print.js\">jquery.lazyloadxt.print.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.print.min.js\">jquery.lazyloadxt.print.min.js</a></td>\n    </tr>\n    <tr>\n      <td><a href=\"#background-image\">Background image</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.bg.js\">jquery.lazyloadxt.bg.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.bg.min.js\">jquery.lazyloadxt.bg.min.js</a></td>\n    </tr>\n    <tr>\n      <td><a href=\"#deferred-autoload\">Deferred load</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.autoload.js\">jquery.lazyloadxt.autoload.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.autoload.min.js\">jquery.lazyloadxt.autoload.min.js</a></td>\n     </tr>\n    <tr>\n      <td><a href=\"#bootstrap-and-jquerymobile\">Bootstrap</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.bootstrap.js\">jquery.lazyloadxt.bootstrap.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.bootstrap.min.js\">jquery.lazyloadxt.bootstrap.min.js</a></td>\n     </tr>\n    <tr>\n      <td><a href=\"#bootstrap-and-jquerymobile\">jQueryMobile</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.jquerymobile.js\">jquery.lazyloadxt.jquerymobile.js</a></td>\n      <td><a href=\"https://raw.github.com/ressio/lazy-load-xt/master/dist/jquery.lazyloadxt.jquerymobile.min.js\">jquery.lazyloadxt.jquerymobile.min.js</a></td>\n     </tr>\n  </tbody>\n</table>\n\nInstall and manage Lazy Load XT using [Bower](http://bower.io/)\n\n    $ bower install lazyloadxt\n\nInstall and manage using [NPM](https://npmjs.org/)\n\n    $ npm install lazyloadxt\n\nGet full snapshot of Lazy Load XT: [lazy-load-xt-master.zip](https://github.com/ressio/lazy-load-zt/archive/master.zip)\n\nIf you have any feature to request or bug to report please use\n[GitHub issues]( https://github.com/ressio/lazy-load-xt/issues).\n\n\n## Usage\n\nFirst of all it's necessary to load jQuery and Lazy Load XT script. There are two versions of Lazy Load XT:\n\n1. `jquery.lazyloadxt.js`, standard version for lazy loading of images only.\n\n2. `jquery.lazyloadxt.extra.js`, version with included video addon for lazy loading of both images and videos.\n\nTo make media elements (`img`, `video`, `source`, `iframe`) to be lazy loaded, rename `src` attribute to `data-src`.\nIt is highly recommended to set `width` and `height` attributes. Optionally you can add a placeholder `src` to bypass\nHTML validators:\n\n```html\n<script src=\"jquery.js\"></script>\n<script src=\"jquery.lazyloadxt.js\"></script>\n\n<img data-src=\"lazy.jpg\" width=\"100\" height=\"100\">\n```\n\nPS. In `src` directory you can found `jquery.lazyloadxt.simple.js`, it is initial LazyLoadXT version of minimal size\nwith excluded support of on* handlers, lazy* events, `blankImage` option and addons.\n\n\n## jQLight\n\nLazyLoadXT may be used without jQuery framework by loading small\n[`jqlight.lazyloadxt.min.js`](https://raw.github.com/ressio/lazy-load-xt/master/dist/jqlight.lazyloadxt.min.js) script\n(1.3KiB gzipped):\n\n```html\n<script src=\"jqlight.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.js\"></script>\n\n<img data-src=\"lazy.jpg\" width=\"100\" height=\"100\">\n```\n\nNote: currently `jquery.lazyloadxt.bg.js` addon is not supported by jQLight.\n\n## Demo\n\nDemo: [ressio.github.io/lazy-load-xt](http://ressio.github.io/lazy-load-xt)\n\n\n## Advanced initialization\n\nThere are two ways to initialize elements if auto initialization doesn't suit you:\n\n1. `$(window).lazyLoadXT();` to initialize all elements matching `$.lazyLoadXT.selector`\n2. `$(elements).lazyLoadXT();` to initialize all selected elements.\n\nFor example, `$(container).find(selector).lazyLoadXT();` initializes elements matching `selector` inside `container`.\n\nYou can pass optional argument to override default `$.lazyLoadXT` options. The following options only may be overridden:\n`srcAttr`, `edgeX`, `edgeY`, `visibleOnly`, `blankImage`, `checkDuplicates`, `scrollContainer`.\n\nNote: don’t forget to disable auto initialization with `$.lazyLoadXT.autoInit=false;` if you like to use manual\ninitialization of all elements.\n\nTo manually show elements (may be necessary for integrating Lazy Load XT with some 3rdparty plugins), call\n`$(elements).lazyLoadXT({show: true});`.\n\n\n## Browsers with disabled JavaScript\n\nAs JavaScript may be disabled in the browser (e.g. it may be a feature phone with limited javascript support or browser\nwith Noscript addon), it is usually recommended to add a fallback image in `<noscript>` tag, mark initial image with\n`class=\"lazy\"` attribute and hide it using CSS (otherwise browsers with disabled javascript will display both images).\nLazy Load XT plugin removes this class (`oninit.removeClass` option) at image initialization. So, final code should be\nlike:\n\n```css\nimg.lazy {\n  display: none;\n}\n```\n\n```html\n<img class=\"lazy\" data-src=\"lazy.jpg\" width=\"100\" height=\"100\">\n<noscript><img src=\"lazy.jpg\" width=\"100\" height=\"100\"></noscript>\n```\n\nWe recommend to keep the order of attributes in both `<img>` tags, because of such a code will be effectively gzipped.\n\nAlternative approach is based on tagging images/videos with `<script>` tag. It is realized using\n`jquery.lazyloadxt.script.js` addon and is described in [corresponding addon’s section](#script-based-tagging)\n(note that this approach is experimental and currently is not compatible with AJAX).\n\n\n## Options\n\nThe plugin is very extensible and supports a lot of options that are stored in $.lazyLoadXT object:\n\n```javascript\n$.extend($.lazyLoadXT, {\n  edgeY:  200,\n  srcAttr: 'data-src'\n});\n```\n\nYou can either create this object before loading of `jquery.lazyloadxt.js`, or extend it after loading (but before\njQuery's `ready` event).\n\n* **autoInit**: auto initialization of the plugin, that is processing of all elements matching `selector` selector in\n  jQuery's `ready` event, if it is disabled you have to do such initialization manually as explained in [Advanced\n  initialization](#advanced-initialization) section (default `true`)\n* **selector**: selector for elements that should be lazy-loaded (default `'img[data-src]'`)\n* **srcAttr**: attribute containing actual `src` path, see example below in [Hi-DPI (Retina) images]\n  (#hi-dpi-retina-images) section (default `'data-src'`)\n* **blankImage**: blank image for used until actual image is not loaded (default is transparent 1x1 gif image in\n  data-uri format `'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'`)\n* **edgeY**: expand visible page area (viewport) in vertical direction by specified amount of pixels,\n  so that elements start to load even if they are not visible, but will be visible after scroll by `edgeY` pixels\n  (default `0`)\n* **edgeX**: expand visible page area in horizontal direction by specified amount of pixels (default `0`)\n* **throttle**: time interval (in ms) to check for visible elements, the plugin uses it to speed up page work in the\n  case of flow of page change events (default `99`)\n* **visibleOnly**: being disabled this option forces the plugin to check element position only, but not to check that\n  it is actually visible (default `true`)\n* **checkDuplicates**: prevent re-add lazy-loaded elements (default `true`)\n* **scrollContainer**: set scroll container (`overflow: scroll`) for adding elements (default `null`),\n* **forceLoad**: load all elements without checking for visibility (default `false`)\n* **loadEvent**: space-separated list of events when the plugin starts to found new elements matching `selector`\n  (default `'pageshow'` to check AJAX-loaded content in jQueryMobile and to support backward navigation in iPhone)\n* **updateEvent**: space-separated list of events when the plugin starts to check what elements are visible in\n  current viewport (default `'load orientationchange resize scroll'`)\n* **forceEvent**: space-separated list of events when the plugin starts to load all images independently of are\n  they visible or not (default `''`)\n* **oninit**: handler called when the plugin push elements into internal list of \"lazy\" elements,\n  it may be either a function (DOM element is accessible using `this` object) or an object with `addClass` and/or\n  `removeClass` properties (`addClass` is a space-separated list of class names that should be added to the elements,\n  and `removeClass` contains class names that should be removed, `removeClass` has higher priority in the case of\n  identical class names) (default `{removeClass: 'lazy'}`)\n* **onshow**: handler called when an element appears in viewport area, it may be either a function or an object by\n  analogy to `oninit` handler, see example below in [Spinner](#spinner) section (default `{addClass: 'lazy-hidden'}`)\n* **onload**: handler called when element is successfully loaded, it may be either a function or an object by analogy\n  to `oninit` handler (default `{removeClass: 'lazy-hidden', addClass: 'lazy-loaded'}`)\n* **onerror**: handler called when browser cannot load the element, it may be either a function or an object by analogy\n  to `oninit` handler (default `{removeClass: 'lazy-hidden'}`)\n* **oncomplete**: handler called when all lazy-loaded elements are loaded (default `null`)\n\n\n## Events\n\nLazy Load XT plugin triggers following events for loading elements (after call to corresponding handler in\n`$.lazyLoadXT` options):\n\n* `lazystart`, (triggered on `window`) before plugin's initialization code (binding to events, etc.)\n* `lazyinit`, the plugin push element into internal list of \"lazy\" elements\n* `lazyshow`, element appears in viewport area\n* `lazyload`, element is successfully loaded\n* `lazyerror`, browser cannot load the element\n* `lazycomplete` (triggered on `<html>` element), internal list of lazy-loaded elements is empty, that is all elements\n  are loaded or loading.\n\nUnlike global handlers `$.lazyLoadXT`, using these events it's possible to assign individual handlers for media\nelements.\n\n\n## More than images\n\nImages are not the only page elements that may be lazy loaded. Though default value for `$.lazyLoadXT.selector` is\n`'img'`, you can append it by `iframe` to use lazy-loading for iframes, `video` for videos,\netc. Full list of supported tags include all tags with `src` attribute: `<audio>`, `<embed>`, `<frame>`,\n`<iframe>`, `<img>`, `<video>`, `<input type=\"image\">`.\n\nWe distribute special \"extra\" version of the plugin with additional code for lazyloading of `<video>` elements and\n`<iframe>`ed YouTube videos. To use this version, it’s necessary to just load `jquery.lazyloadxt.extra.js` instead of\n`jquery.lazyloadxt.js`.\n\n\n### `<iframe>`-embedded Videos (YouTube, Vimeo, etc.)\n\nMost of video hostings allow to embed videos as `<iframe>` elements (e.g. Youtube, Vimeo, DailyMotion, and even KickStarter)\nand they may be lazy loaded in the way similar to images (by replacing `src` attribute by `data-src`):\n\n```html\n<script src=\"jquery.lazyloadxt.extra.js\"></script>\n```\n\n```html\n<iframe width=\"420\" height=\"315\" data-src=\"//www.youtube.com/embed/uOzO9O15gwI?rel=0\" frameborder=\"0\" allowfullscreen></iframe>\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/youtube-iframe.htm\n\n\n### Support `<video>` tag\n\nIt is easy too, just replace `src` attribute by `data-src` and `poster` by `data-poster` (if exists).\n\n```html\n<script src=\"jquery.lazyloadxt.extra.js\"></script>\n```\n\n```html\n<video data-poster=\"/path/to/poster.jpg\" width=\"320\" height=\"240\" controls>\n  <source data-src=\"/path/to/video.mp4\" type='video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'>\n  <source data-src=\"/path/to/video.ogv\" type='video/ogg; codecs=\"theora, vorbis\"'>\n</video>\n\n<video data-src=\"/path/to/video2.mp4\" width=\"320\" height=\"240\" controls></video>\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/video-html5.htm\n\n\n## Extendability\n\nLazy Load XT plugin may be easily extended using `oninit`, `onshow`, `onload` and `onerror` handlers. Some examples are\nlisted below.\n\n\n### Spinner\n\nSome effects may be easily added by using `lazy-hidden` and `lazy-loaded` css classes. For example, to display animated\nspinner while image is loading, just load `jquery.lazyloadxt.spinner.css` css file:\n\n```html\n<link rel=\"stylesheet\" href=\"jquery.lazyloadxt.spinner.css\">\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/spinner.htm\n\n\n### Fade-in animation\n\nTo add fade-in animation just load `jquery.lazyloadxt.fadein.css` CSS file:\n\n```html\n<link rel=\"stylesheet\" href=\"jquery.lazyloadxt.fadein.css\">\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/fadein.htm\n\n\n### Animate.css\n\nIt's possible to use a lot of animation effects (like bounce, flip, rotate, etc.) from\n[animate.css project](https://github.com/daneden/animate.css) by altering `$.lazyLoadXT.onload.addClass` option:\n\n```html\n<link rel=\"stylesheet\" href=\"animate.min.css\">\n```\n\n```javascript\n/* JS */\n$.lazyLoadXT.onload.addClass = 'animated bounceOutLeft';\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/animatecss.htm\n\n\n### Horizontal scroll\n\nLazy Load XT checks that an image is in viewport in both vertical and horizontal dimensions, so that it is easy to\nmake lazy loading of images in horizontal scroller. Let's assume that your html markup of scroller is something like\n```html\n<div class=\"wrapper\">\n    <img data-src=\"/path/to/image/1\" width=\"600\" height=\"300\">\n    <img data-src=\"/path/to/image/2\" width=\"600\" height=\"300\">\n    <img data-src=\"/path/to/image/3\" width=\"600\" height=\"300\">\n    <img data-src=\"/path/to/image/4\" width=\"600\" height=\"300\">\n</div>\n```\nwith following CSS rules to make `.wrapper` scrollable in horizontal direction and images to be alined:\n```css\n/* CSS */\n.wrapper {\n    overflow-x: scroll;\n    overflow-y: hidden;\n    white-space: nowrap;\n}\n.wrapper > img {\n    display: inline-block;\n    *display: inline;\n    *zoom: 1;\n}\n```\n\nThen all that you need is to proxy `scroll` event from `.wrapper` element to `window` because of `scroll` event [is not\nbubbled automatically](http://www.w3.org/TR/2009/WD-DOM-Level-3-Events-20090908/#event-type-scroll). It may be easily\ndone using `scrollContainer` option:\n```javascript\n/* JS */\n$.lazyLoadXT.scrollContainer = '.wrapper';\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/horizontal.htm\n\n\n### Infinite scroll\n\nUsing Lazy Load XT it is easily to get \"infinite scroll\" effect. Just put a marker element at the end of list\n```html\n<div id=\"marker\"></div>\n```\nand load next part of elements in `lazyshow` handler, e.g.:\n```javascript\n/* JS */\n$(document).ready(function () {\n    $('#marker').on('lazyshow', function () {\n        $.ajax({...}).done(function (responseText) {\n            // add new elements:\n            // ...\n            // process new elements:\n            $(window).lazyLoadXT();\n            $('#marker').lazyLoadXT({visibleOnly: false, checkDuplicates: false});\n        });\n    }).lazyLoadXT({visibleOnly: false});\n});\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/infinite.htm\n\n\n### Hi-DPI (Retina) images\n\nThe code below allows you to use `data-src-3x` attribute for screens with 3x density (e.g. Samsung Galaxy S4),\n`data-src-2x` for 2x density (e.g. iPhones 4+), and `data-src-1.5x` for 1.5x density (e.g. HTC Incredible S).\n\n```javascript\n/* JS */\n(function($, dpr) {\n  if (dpr>1)\n    $.lazyLoadXT.srcAttr = 'data-src-' + (dpr > 2 ? '3x' : (dpr > 1.5 ? '2x' : '1.5x'));\n})(jQuery, window.devicePixelRatio || 1);\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/retina.htm\n\nBut in real world it's better to set `srcAttr` function and choose most suitable image URL among existing ones. Or set\n`src` attribute in `lazyshow` event, like it is done in [Responsive images and srcset](#responsive-images)\naddon.\n\n\n### AJAX\n\nIf you use jQuery-based AJAX navigation and don't like to change existing AJAX callbacks,\nyou can apply lazy loading to new loaded content using `ajaxComplete` event. Note that `$.lazyLoadXT.loadEvent =\n'pageshow ajaxComplete';` may not work correctly because of content is not added to the page at the time of\n`ajaxComplete` event, that's why it's better to postpone initialization by `setTimeout`:\n\n```javascript\n/* JS */\n$(window).on('ajaxComplete', function() {\n  setTimeout(function() {\n    $(window).lazyLoadXT();\n  }, 50);\n});\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/ajax.htm\n\n\n### Support of IE6/7\n\nLazy Load XT uses Data-URI-encoded transparent image for images outside of viewport (though this image may be visible\nduring fast page scroll or in print preview).  As IE 6 and 7 don't support Data-URI, you can change image for that\nbrowsers:\n\n```javascript\n/* JS */\nif (parseInt(navigator.userAgent.toLowerCase().split('msie')[1] || 8, 10) < 8)\n  $.lazyLoadXT.blankImage = '//upload.wikimedia.org/wikipedia/en/d/d0/Clear.gif';\n```\n\n\n## Addons\n\nLazy Load XT may be easily extended to support other lazyloading-related things. Some examples are part of Lazy Load XT\nproject and listed below.\n\n\n### Bootstrap and jQueryMobile\n\nTo support [Bootstrap](http://getbootstrap.com/) and [jQueryMobile](http://jquerymobile.com/) frameworks, use\n`<script src=\"jquery.lazyloadxt.bootstrap.js\"></script>` and `<script src=\"jquery.lazyloadxt.jquerymobile.js\"></script>`\naddons, correspondingly. These addons recheck visible images each time related javascript plugin (e.g. Bootstrap's Carousel\nor jQueryMobile's Panel) changes page content.\n\n\n### Video\n\nSupport of video elements in extra version of Lazy Load XT is just an addon that is combined with base version of\nthe script. That is loading of\n\n```html\n<script src=\"jquery.lazyloadxt.extra.js\"></script>\n```\n\nis identical to loading of\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.video.js\"></script>\n```\n\nOptions\n\n**$.lazyLoadXT.videoPoster** name of attribute with path to background image (by default `'data-poster'`).\n\nNote: this addon append `iframe[data-src]` to `$.lazyLoadXT.selector`, so if you change `$.lazyLoadXT.srcAttr` option,\n`selector` option should be altered properly.\n\n\n### Responsive images\n\nThere are two addons for responsive images:\n\n1. `srcset` for lazy loading of images with polyfill for `srcset` attribute.\n2. `picture` for lazy loading of images with polyfill for `<picture>` tag.\n\n`srcset` addon allows to combine lazy loading and responsive images description in `data-srcset` attribute of `<img>`\ntag. Format of responsive images description is based on\n[srcset attribute](http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/) draft of HTML extension for adaptive images:\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.srcset.js\"></script>\n```\n\n```html\n<img data-srcset=\"image-hd.jpg 2x, image-phone.jpg 360w, image-phone-hd.jpg 360w 2x\">\n```\n\nIt's possible to simplify images description using `data-srcset-base` and `data-srcset-ext` attributes, so that actual\nimages URI is concatenation of `data-srcset-base`, chosen part of `data-src` description, and `data-srcset-ext`:\n\n```html\n<img data-srcset-base=\"image\" data-srcset-ext=\".jpg\" data-srcset=\"-hd 2x, -phone 360w, -phone-hd 360w 2x\">\n```\n\nIf you like to have fallback image name to be `data-srcset-base`+`data-srcset-ext` (`image.jpg` in above example),\njust put comma at the end of `data-srcset` description: `data-srcset=\"-hd 2x, -phone 360w, -phone-hd 360w 2x,\"`. Note\nthat this addon doesn't require browser to support `srcset` attribute.\n\nOptions\n\n**$.lazyLoadXT.srcsetAttr** name of attribute with `srcset`-based description (by default `'data-srcset'`).\n\n**$.lazyLoadXT.srcsetExtended** enable support of `srcsetBaseAttr` and `srcsetExtAttr` options (by default `true`).\n\n**$.lazyLoadXT.srcsetBaseAttr** name of attribute with prefix for image URI (by default `'data-srcset-base'`).\n\n**$.lazyLoadXT.srcsetExtAttr** name of attribute with suffix for image URI (by default `'data-srcset-ext'`).\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/srcset.htm\n\n\n`picture` addon is based on [`<picture>` tag](http://www.w3.org/TR/html-picture-element/) draft of HTML extension for\nadaptive images. Just rename `<source>` tags to `<br>`, `src` attribute to `data-src`, and add few CSS rules to make\n`<picture>` block element in browsers that don't support it:\n\n```css\n/* CSS */\npicture {\n  display: block;\n}\npicture > br {\n  display: none;\n}\nimg {\n  max-width: 100%;\n  height: auto !important;\n}\n```\n\n```html\n<script src=\"../dist/jquery.lazyloadxt.js\"></script>\n<script src=\"../dist/jquery.lazyloadxt.picture.js\"></script>\n```\n\n```html\n<picture width=\"640\" height=\"480\">\n  <br data-src=\"small320.jpg\">\n  <br media=\"(min-width: 321px)\" data-src=\"medium480.jpg\">\n  <br media=\"(min-width: 481px)\" data-src=\"large640.jpg\">\n  <noscript><img data-src=\"large640.jpg\"></noscript>\n  <p>Image caption</p>\n</picture>\n```\n\nNote: currently `data-srcset` attribute is not supported by this addon, but most likely further both `srcset` and\n`picture` addons will be merged into single one, so that `srcset` format for responsive images will be supported by\n`<img>` and `<picture>` tags.\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/picture.htm\n\n\n### Widgets\n\nImages and videos are not the only heavy parts of the page. Nowadays it's hard to find website that doesn't use\nwidgets for different social medias (like Twitter, Facebook, Google+, etc.). If integration with such resource is done\nusing `<iframe>` tag, you can use \"extra\" version of Lazy Load XT to make it lazy loaded:\n\n```html\n<script src=\"jquery.lazyloadxt.extra.js\"></script>\n```\n\n```html\n<!-- Facebook Recommend Widget -->\n<iframe data-src=\"http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fressio.github.io%2Flazy-load-xt&amp;width&amp;layout=button_count&amp;action=recommend&amp;show_faces=true&amp;share=true&amp;height=21\"\n        scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; height:21px;\" allowTransparency=\"true\"></iframe>\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/widget-iframe.htm\n\nBut in most cases JavaScript is used to embed widgets. Specially for this case we have universal\n`jquery.lazyloadxt.widget.js` addon that allows to add some html code to the page when other element become visible.\nThe code should wrapped in html comment inside a `div` with assigned `id` attribute, and the element should have\n`data-lazy-widget` attribute with value of that `id`:\n\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.widget.js\"></script>\n```\n\n```html\n<!-- Google +1 Button -->\n<div data-lazy-widget=\"gplus\" class=\"g-plusone\" data-annotation=\"inline\" data-width=\"300\"></div>\n<div id=\"gplus\"><!--\n  <script type=\"text/javascript\">\n    (function() {\n      var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;\n      po.src = 'https://apis.google.com/js/platform.js';\n      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);\n    })();\n  </script>\n--></div>\n```\n\nIf `data-lazy-widget` attribute has empty value, the element itself is used as wrapper:\n\n```html\n<div data-lazy-widget><!--\n  <img src=\"image.jpg\">\n--></div>\n```\n\nOptions:\n\n**$.lazyLoadXT.widgetAttr** name of attribute with `id` of commented html code (by default `'data-lazy-widget'`).\nNote: `widgetAttr` option should be set before loading of `jquery.lazyloadxt.widget.js` as it is used to alter\n`$.lazyLoadXT.selector` option.\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/widget.htm\n\n\n### Print\n\nIt is another issue of lazy loading: if user prints the page, only loaded images will be printed. This addon allows\nto start loading of all images just after browser switch to print mode to render page. Note that this feature is\nbrowser-dependent and currently it works correctly in IE only. In Chrome browser caches page state until user\nchange print options (printer, page orientation, margins, etc.). In Firefox and Safari addon works if user chooses\nPrint Preview before actual print (as they don't wait until images will be loaded). In Opera it works starting from\n15.0 release (Presto didn't support both `beforeprint` event and matchMedia listeners).\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.print.js\"></script>\n```\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/print.htm\n\n\n### Background image\n\nThis addon allows you to use lazy-loading technique for background images of any tag.\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.bg.js\"></script>\n```\n\n```html\n<div data-bg=\"/path/to/image.png\">...</div>\n```\n\nAbove code set `background-image` CSS property to `/path/to/image.png` as soon `div` element becomes visible in\nviewport area.\n\nOptions:\n\n**$.lazyLoadXT.bgAttr** name of attribute with path to background image (by default `'data-bg'`). Note: option\nshould be set before loading of `jquery.lazyloadxt.bg.js` as it is used to alter `$.lazyLoadXT.selector` option.\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/bg.htm\n\n\n### `<script>`-based tagging\n\nThe main problem of lazy loading is necessity to duplicate `<img>` tag in `<noscript>` wrapper to support browsers with\ndisabled JavaScript. As an alternative way, `jquery.lazyloadxt.script.js` addon allows to prepend tag `<img>` tag by\n`<script>` in the following form (without duplicating and renaming `src` to `data-src`):\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.script.js\"></script>\n```\n\n```html\n<script>L()</script><img src=\"/path/to/image.jpg\">\n\n<script>Lb()</script>\n<video>\n  <source src=\"/path/to/video.mp4\">\n</video>\n<script>Le()</script>\n\n<script>Lb('iframe')</script>\n<iframe src=\"/path/to/iframe.htm\"></iframe>\n<script>Le()</script>\n````\n\nHere `L()` is function that should be called before self-closed tag like `<img>` and `<input>` (optional argument is\nthe tag name of lazy loaded element, by default `'img'`), `Lb()` should be called before other tags like `<video>`\nand `<iframe>` (optional argument is the tag name of lazy loaded element, by default `'video'`), and `Le()` should be\ncalled after corresponding closing tag.\n\nOptions:\n\n**$.lazyLoadXT.srcsetAttr** name of attribute with responsive rules in srcset format,\n**$.lazyLoadXT.srcsetBaseAttr** name of attribute for URL prefix,\n**$.lazyLoadXT.srcsetExtAttr** name of attribute for URL suffix\n\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/script-tag.htm\n\n\n### Deferred autoload\n\nThis is very simple addon (just few lines of code) that loads all images after specified time after page loading. That is loading of images\ndoesn't affect loading of CSSes and JavaScripts, and time to initial website rendering will be decreased.\n\n```html\n<script src=\"jquery.lazyloadxt.js\"></script>\n<script src=\"jquery.lazyloadxt.autoload.js\"></script>\n```\n\nOptions:\n\n**$.lazyLoadXT.autoLoadTime** time interval between `load` page event and start of image loading (in ms, default is 50)\n\nDemo: http://ressio.github.io/lazy-load-xt/demo/autoload.htm\n\n\n## Example of page preparation in PHP\n\nInstead of manipulating `<img>` tags directly (that is to replace `src` by `data-src`,\nadd `<noscript>` fallback image, etc.), it's possible to do html page postprocessing using [your favorite] language.\nHere is example of how to do it using PHP:\n\n```php\n/* PHP */\nfunction addLazyLoading($html) {\n  $dom = new DOMDocument();\n  if (!@$dom->loadHTML('<?xml encoding=\"UTF-8\">' . $html)) // trick to set charset\n    return $html;\n  foreach ($dom->childNodes as $item)\n    if ($item->nodeType === XML_PI_NODE) {\n      $dom->removeChild($item);\n      break;\n    }\n  $dom->encoding = 'UTF-8';\n  $images = $dom->getElementsByTagName('img');\n  $blankImage = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n  for ($i = $images->length - 1; $i >= 0; $i--) {\n    $node     = $images->item($i);\n    $clone    = $node->cloneNode();\n    $noscript = $dom->createElement('noscript');\n    $noscript->appendChild($clone);\n    $node->parentNode->insertBefore($noscript, $node);\n    $node->setAttribute('data-src', $node->getAttribute('src'));\n    $node->setAttribute('src',      $blankImage);\n    $node->setAttribute('class',    trim($node->getAttribute('class') . ' lazy'));\n  }\n  $newHtml = $dom->saveHTML();\n  if (!$newHtml)\n    return $html;\n  return $newHtml;\n}\n```\n\n\n## CDN\n\nLazy Load XT may be loaded from [jsDelivr CDN](http://www.jsdelivr.com/#!jquery.lazyloadxt)\n```html\n<script src=\"//cdn.jsdelivr.net/jquery.lazyloadxt/1.0.0/jquery.lazyloadxt.min.js\"></script>\n```\nor [CDNJS CDN](http://cdnjs.com/libraries/jquery.lazyloadxt/)\n```html\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/jquery.lazyloadxt/1.0.0/jquery.lazyloadxt.min.js\"></script>\n```\n\nNote that any of Lazy Load XT `dist` files may be loaded from CDN, not only `jquery.lazyloadxt.min.js`.\n\n\n## Version History\n\n- [**1.1.0**](https://github.com/ressio/lazy-load-xt/tree/1.1.0) (11.01.2016): jQLight script, remove lazy-hidden class\n  for non-img elements, fix lazy loading if there is one image only, fix issues in bg, srcset, and video addons,\n  new addons for Bootstrap and jQueryMobile events\n- [**1.0.6**](https://github.com/ressio/lazy-load-xt/tree/1.0.6) (19.11.2014): fix work of srcset addons in IE6-8\n- [**1.0.5**](https://github.com/ressio/lazy-load-xt/tree/1.0.5) (05.06.2014): fix picture and script addons\n- [**1.0.4**](https://github.com/ressio/lazy-load-xt/tree/1.0.4) (30.05.2014): fix calls to each() method\n- [**1.0.3**](https://github.com/ressio/lazy-load-xt/tree/1.0.3) (28.05.2014): support DOMstatic library (`attr`, `class`, `data`, `event`, `selector`, and `type` modules are required); fix loading of images on browser's tab activation\n- [**1.0.2**](https://github.com/ressio/lazy-load-xt/tree/1.0.2) (05.03.2014): fix work in jQuery Mobile 1.4\n- [**1.0.1**](https://github.com/ressio/lazy-load-xt/tree/1.0.1) (16.02.2014): fix triggering `lazyload` and `lazyerror`\n  events in `scrset` and `picture` addons\n- [**1.0.0**](https://github.com/ressio/lazy-load-xt/tree/1.0.0) (16.01.2014): new `forceLoad` option, `classNojs`\n  option is removed in flavour of `options.oninit.removeClass`, `lazyloadall` event is renamed to `lazycomplete`,\n  new `oncomplete` option, fix work with Zepto, fix work in some old mobile browsers, default value for `selector`\n  option is set to `img[data-src]`, lazy* events are triggered after corresponding on* handlers, new `lazystart` event,\n  remove \"simple\" version from build.\n\n- [**0.8.12**](https://github.com/ressio/lazy-load-xt/tree/0.8.12) (12.01.2014): significant performance improvement,\n  fix work in BlackBerry 5, fix `checkDuplicates` options\n- [**0.8.11**](https://github.com/ressio/lazy-load-xt/tree/0.8.11) (10.01.2014): fix to work in browsers without\n  `scroll` event (e.g. Opera Mini), handle `touchmove` event for better response on mobile devices.\n- [**0.8.10**](https://github.com/ressio/lazy-load-xt/tree/0.8.10) (07.01.2014): bugfix \"video\" addon, remove loading of\n  `bootstrap.js` in `zepto.htm` demo.\n- [**0.8.9**](https://github.com/ressio/lazy-load-xt/tree/0.8.9) (06.01.2014): `checkDuplicates` option, fix srcset\n  addon, speed up work with jQuery\n- [**0.8.8**](https://github.com/ressio/lazy-load-xt/tree/0.8.8) (26.12.2013): Fix sharing $el.lazyLoadXT object,\n  support $(window).lazyLoadXT({...}) call with overrides parameter\n- [**0.8.7**](https://github.com/ressio/lazy-load-xt/tree/0.8.7) (26.12.2013): New \"picture\" addon, feature to pass\n  original jQuery element object (with `.lazyLoadXT.srcAttr` property) to `init` and `show` callbacks/event handlers,\n  support empty value for `data-lazy-widget` attribute in `widget` addon, minor fixes/improvements, horizontal scroll\n  demo, infinite scroll demo\n- [**0.8.6**](https://github.com/ressio/lazy-load-xt/tree/0.8.6) (18.12.2013): New \"widget\" addon, support of per\n  element options\n- [**0.8.5**](https://github.com/ressio/lazy-load-xt/tree/0.8.5) (15.12.2013): New addons, \"simple\" version,\n  `lazyloadall` event, slight reduce minified size\n- [**0.8.4**](https://github.com/ressio/lazy-load-xt/tree/0.8.4) (12.12.2013): Fixed check of removed elements,\n   support of `$.lazyLoadXT.videoPoster` parameter, additional examples in `src` (srcset polyfill, transparent\n   placeholder for IE6/7)\n- [**0.8.3**](https://github.com/ressio/lazy-load-xt/tree/0.8.3) (10.12.2013): Speed up initialization,\n  new `forceEvent` option, additional examples of extendability in `/src` directory\n- [**0.8.2**](https://github.com/ressio/lazy-load-xt/tree/0.8.2) (08.12.2013): Built-in support of videos in\n `jquery.lazyloadxt.extra.js`\n- [**0.8.1**](https://github.com/ressio/lazy-load-xt/tree/0.8.1) (06.12.2013): Add support of `lazyinit`, `lazyshow`,\n `lazyload`, and `lazyerror` events\n- [**0.8.0**](https://github.com/ressio/lazy-load-xt/tree/0.8.0) (05.12.2013): Initial release\n\n\n## License\n\nLazy Load XT is licensed under the [MIT license](http://opensource.org/licenses/MIT)\n\n\n[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/ce20db9f22e205daddcd819e106c8995 \"githalytics.com\")](http://githalytics.com/ressio/lazy-load-xt)\n","maintainers":[{"name":"ressio","email":"denis@mobilejoomla.com"}],"time":{"modified":"2022-06-19T11:00:05.093Z","created":"2013-12-05T12:03:02.991Z","0.8.0":"2013-12-05T12:03:09.677Z","0.8.1":"2013-12-06T15:01:08.400Z","0.8.2":"2013-12-08T21:27:47.157Z","0.8.3":"2013-12-10T11:35:48.491Z","0.8.4":"2013-12-12T13:14:50.825Z","0.8.5":"2013-12-16T00:57:22.239Z","0.8.6":"2013-12-18T13:34:30.054Z","0.8.8":"2013-12-26T19:39:47.521Z","0.8.9":"2014-01-06T14:42:32.465Z","0.8.10":"2014-01-07T18:43:56.609Z","0.8.11":"2014-01-10T19:04:36.239Z","0.8.12":"2014-01-12T07:53:55.981Z","1.0.0":"2014-01-16T14:04:46.025Z","1.0.1":"2014-02-17T13:55:27.434Z","1.0.2":"2014-03-05T15:21:04.611Z","1.0.3":"2014-05-30T11:28:20.414Z","1.0.4":"2014-05-30T11:41:36.631Z","1.0.5":"2014-06-05T17:51:34.606Z","1.1.0":"2016-01-11T23:06:29.781Z"},"author":{"name":"RESS.io","email":"hello@ress.io","url":"http://ress.io/"},"repository":{"type":"git","url":"git://github.com/ressio/lazy-load-xt.git"},"readmeFilename":"README.md","homepage":"http://ressio.github.io/lazy-load-xt","keywords":["jquery-plugin","effect","image","images","jquery","bootstrap","jquerymobile","lazy","lazyload","load","media","mobile","performance","responsive","speed","video","vimeo","youtube"],"bugs":{"url":"https://github.com/ressio/lazy-load-xt/issues"},"users":{"keepon99":true}}