PageSourceSearch

https://proclick.ir/js/jquery.queryloader2.js

js proclick.ir collected 2026-09-26 05:04:38 UTC 17,013 bytes, 57 lines download raw bytes

1(function($){(function(window){'use strict';var docElem=document.documentElement;var bind=function(){};function getIEEvent(obj){var event=window.event;event.target=event.target||event.srcElement||obj;return event;}
2if(docElem.addEventListener){bind=function(obj,type,fn){obj.addEventListener(type,fn,false);};}else if(docElem.attachEvent){bind=function(obj,type,fn){obj[type+fn]=fn.handleEvent?function(){var event=getIEEvent(obj);fn.handleEvent.call(fn,event);}:function(){var event=getIEEvent(obj);fn.call(obj,event);};obj.attachEvent("on"+type,obj[type+fn]);};}
3var unbind=function(){};if(docElem.removeEventListener){unbind=function(obj,type,fn){obj.removeEventListener(type,fn,false);};}else if(docElem.detachEvent){unbind=function(obj,type,fn){obj.detachEvent("on"+type,obj[type+fn]);try{delete obj[type+fn];}catch(err){obj[type+fn]=undefined;}};}
4var eventie={bind:bind,unbind:unbind};if(typeof define==='function'&&define.amd){define(eventie);}else if(typeof exports==='object'){module.exports=eventie;}else{window.eventie=eventie;}})(this);(function(){'use strict';function EventEmitter(){}
5var proto=EventEmitter.prototype;var exports=this;var originalGlobalValue=exports.EventEmitter;function indexOfListener(listeners,listener){var i=listeners.length;while(i--){if(listeners[i].listener===listener){return i;}}
6return-1;}
7function alias(name){return function aliasClosure(){return this[name].apply(this,arguments);};}
8proto.getListeners=function getListeners(evt){var events=this._getEvents();var response;var key;if(evt instanceof RegExp){response={};for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){response[key]=events[key];}}}
9else{response=events[evt]||(events[evt]=[]);}
10return response;};proto.flattenListeners=function flattenListeners(listeners){var flatListeners=[];var i;for(i=0;i<listeners.length;i+=1){flatListeners.push(listeners[i].listener);}
11return flatListeners;};proto.getListenersAsObject=function getListenersAsObject(evt){var listeners=this.getListeners(evt);var response;if(listeners instanceof Array){response={};response[evt]=listeners;}
12return response||listeners;};proto.addListener=function addListener(evt,listener){var listeners=this.getListenersAsObject(evt);var listenerIsWrapped=typeof listener==='object';var key;for(key in listeners){if(listeners.hasOwnProperty(key)&&indexOfListener(listeners[key],listener)===-1){listeners[key].push(listenerIsWrapped?listener:{listener:listener,once:false});}}
13return this;};proto.on=alias('addListener');proto.addOnceListener=function addOnceListener(evt,listener){return this.addListener(evt,{listener:listener,once:true});};proto.once=alias('addOnceListener');proto.defineEvent=function defineEvent(evt){this.getListeners(evt);return this;};proto.defineEvents=function defineEvents(evts){for(var i=0;i<evts.length;i+=1){this.defineEvent(evts[i]);}
14return this;};proto.removeListener=function removeListener(evt,listener){var listeners=this.getListenersAsObject(evt);var index;var key;for(key in listeners){if(listeners.hasOwnProperty(key)){index=indexOfListener(listeners[key],listener);if(index!==-1){listeners[key].splice(index,1);}}}
15return this;};proto.off=alias('removeListener');proto.addListeners=function addListeners(evt,listeners){return this.manipulateListeners(false,evt,listeners);};proto.removeListeners=function removeListeners(evt,listeners){return this.manipulateListeners(true,evt,listeners);};proto.manipulateListeners=function manipulateListeners(remove,evt,listeners){var i;var value;var single=remove?this.removeListener:this.addListener;var multiple=remove?this.removeListeners:this.addListeners;if(typeof evt==='object'&&!(evt instanceof RegExp)){for(i in evt){if(evt.hasOwnProperty(i)&&(value=evt[i])){if(typeof value==='function'){single.call(this,i,value);}
16else{multiple.call(this,i,value);}}}}
17else{i=listeners.length;while(i--){single.call(this,evt,listeners[i]);}}
18return this;};proto.removeEvent=function removeEvent(evt){var type=typeof evt;var events=this._getEvents();var key;if(type==='string'){delete events[evt];}
19else if(evt instanceof RegExp){for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){delete events[key];}}}
20else{delete this._events;}
21return this;};proto.removeAllListeners=alias('removeEvent');proto.emitEvent=function emitEvent(evt,args){var listeners=this.getListenersAsObject(evt);var listener;var i;var key;var response;for(key in listeners){if(listeners.hasOwnProperty(key)){i=listeners[key].length;while(i--){listener=listeners[key][i];if(listener.once===true){this.removeListener(evt,listener.listener);}
22response=listener.listener.apply(this,args||[]);if(response===this._getOnceReturnValue()){this.removeListener(evt,listener.listener);}}}}
23return this;};proto.trigger=alias('emitEvent');proto.emit=function emit(evt){var args=Array.prototype.slice.call(arguments,1
23);return this.emitEvent(evt,args);};proto.setOnceReturnValue=function setOnceReturnValue(value){this._onceReturnValue=value;return this;};proto._getOnceReturnValue=function _getOnceReturnValue(){if(this.hasOwnProperty('_onceReturnValue')){return this._onceReturnValue;}
24else{return true;}};proto._getEvents=function _getEvents(){return this._events||(this._events={});};EventEmitter.noConflict=function noConflict(){exports.EventEmitter=originalGlobalValue;return EventEmitter;};if(typeof define==='function'&&define.amd){define(function(){return EventEmitter;});}
25else if(typeof module==='object'&&module.exports){module.exports=EventEmitter;}
26else{this.EventEmitter=EventEmitter;}}.call(this));(function(window,factory){'use strict';if(typeof define==='function'&&define.amd){define(['eventEmitter/EventEmitter','eventie/eventie'],function(EventEmitter,eventie){return factory(window,EventEmitter,eventie);});}else if(typeof exports==='object'){module.exports=factory(window,require('eventEmitter'),require('eventie'));}else{window.imagesLoaded=factory(window,window.EventEmitter,window.eventie);}})(this,function factory(window,EventEmitter,eventie){'use strict';var $=window.jQuery;var console=window.console;var hasConsole=typeof console!=='undefined';function extend(a,b){for(var prop in b){a[prop]=b[prop];}
27return a;}
28var objToString=Object.prototype.toString;function isArray(obj){return objToString.call(obj)==='[object Array]';}
29function makeArray(obj){var ary=[];if(isArray(obj)){ary=obj;}else if(typeof obj.length==='number'){for(var i=0,len=obj.length;i<len;i++){ary.push(obj[i]);}}else{ary.push(obj);}
30return ary;}
31function ImagesLoaded(elem,options,onAlways){if(!(this instanceof ImagesLoaded)){return new ImagesLoaded(elem,options);}
32if(typeof elem==='string'){elem=document.querySelectorAll(elem);}
33this.elements=makeArray(elem);this.options=extend({},this.options);if(typeof options==='function'){onAlways=options;}else{extend(this.options,options);}
34if(onAlways){this.on('always',onAlways);}
35this.getImages();if($){this.jqDeferred=new $.Deferred();}
36var _this=this;setTimeout(function(){_this.check();});}
37ImagesLoaded.prototype=new EventEmitter();ImagesLoaded.prototype.options={};ImagesLoaded.prototype.getImages=function(){this.images=[];for(var i=0,len=this.elements.length;i<len;i++){var elem=this.elements[i];if(elem.nodeName==='IMG'){this.addImage(elem);}
38var childElems=elem.querySelectorAll('img');for(var j=0,jLen=childElems.length;j<jLen;j++){var img=childElems[j];this.addImage(img);}}};ImagesLoaded.prototype.addImage=function(img){var loadingImage=new LoadingImage(img);this.images.push(loadingImage);};ImagesLoaded.prototype.check=function(){var _this=this;var checkedCount=0;var length=this.images.length;this.hasAnyBroken=false;if(!length){this.complete();return;}
39function onConfirm(image,message){if(_this.options.debug&&hasConsole){}
40_this.progress(image);checkedCount++;if(checkedCount===length){_this.complete();}
41return true;}
42for(var i=0;i<length;i++){var loadingImage=this.images[i];loadingImage.on('confirm',onConfirm);loadingImage.check();}};ImagesLoaded.prototype.progress=function(image){this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded;var _this=this;setTimeout(function(){_this.emit('progress',_this,image);if(_this.jqDeferred&&_this.jqDeferred.notify){_this.jqDeferred.notify(_this,image);}});};ImagesLoaded.prototype.complete=function(){var eventName=this.hasAnyBroken?'fail':'done';this.isComplete=true;var _this=this;setTimeout(function(){_this.emit(eventName,_this);_this.emit('always',_this);if(_this.jqDeferred){var jqMethod=_this.hasAnyBroken?'reject':'resolve';_this.jqDeferred[jqMethod](_this);}});};if($){$.fn.imagesLoaded=function(options,callback){var instance=new ImagesLoaded(this,options,callback);return instance.jqDeferred.promise($(this));};}
43function LoadingImage(img){this.img=img;}
44LoadingImage.prototype=new EventEmitter();LoadingImage.prototype.check=function(){var resource=cache[this.img.src]||new Resource(this.img.src);if(resource.isConfirmed){this.confirm(resource.isLoaded,'cached was confirmed');return;}
45if(this.img.complete&&this.img.naturalWidth!==undefined){this.confirm(this.img.naturalWidth!==0,'naturalWidth');return;}
46var _this=this;resource.on('confirm',function(resrc,message){_this.confirm(resrc.isLoaded,message);return true;});resource.check();};LoadingImage.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emit('confirm',this,message);};var cache={};function Resource(src){this.src=src;cache[src]=this;}
47Resource.prototype=new EventEmitter();Resource.prototype.check=function(){if(this.isChecked){return;}
48var proxyImage=new Image();eventie.bind(proxyImage,'load',this);eventie.bind(proxyImage,'error',this);proxyImage.src=this.src;this.isChecked=true;};Resource.prototype.handleEvent=function(event){var method='on'+event.type;if(this[method]){this[method](event);}};Resource.prototype.onload=function(event){this.confirm(true,'onload');this.unbindProxyEvents(event);};Resource.prototype.onerror=function(event){this.confirm(false,'onerror');this.unbindProxyEvents(event);};Resource.prototype.confirm=function(isLoaded,message){this.isConfirmed=true;this.isLoaded=isLoaded;this.emit('confirm',this,message);};Resource.prototype.unbindProxyEvents=function(event){eventie.unbind(event.target,'load',this);eventie.unbind(event.target,'error',this);};return ImagesLoaded;});function OverlayLoader(parent){this.parent=parent;this.container;this.loadbar;this.percentageContainer;};OverlayLoader.prototype.createOverlay=function(){var overlayPosition="absolute";if(this.parent.element.tagName.toLowerCase()=="body"){overlayPosition="fixed";}else{var pos=this.parent.$element.css("position");if(pos!="fixed"||pos!="absolute"){this.parent.$element.css("position","relative");}}
49this.container=$("<div id='"+this.parent.options.overlayId+"'></div>").css({width:"100%",height:"100%",backgroundColor:this.parent.options.backgroundColor,backgroundPosition:"fixed",position:overlayPosition,zIndex:666999,top:0,left:0}).appendTo(this.parent.$element);this.loadbar=$("<div id='qLbar'></div>").css({height:this.parent.options.barHeight+"px",marginTop:"-"+(this.parent.options.barHeight/2)+"px",backgroundColor:this.parent.options.barColor,width:"0%",position:"absolute",top:"50%"}).appendTo(this.container);if(this.parent.options.percentage==true){this.percentageContainer=$("<div id='qLpercentage'></div>").text("0%").css({height:"40px",width:"100px",position:"absolute",fontSize:"3em",top:"50%",left:"50%",marginTop:"-"+(59+this.parent.options.barHeight)+"px",textAlign:"center",marginLeft:"-50px",color:this.parent.options.barColor}).appendTo(this.container);}
50if(!this.parent.preloadContainer.toPreload.length||this.parent.alreadyLoaded==true){this.parent.destroyContainers();}};OverlayLoader.prototype.updatePercentage=function(percentage){this.loadbar.stop().animate({width:percentage+"%",minWidth:percentage+"%"},200);if(this.parent.options.percentage==true){this.percentageContainer.text(Math.ceil(percentage)+"%");}};function PreloadContainer(parent){this.toPreload=[];this.parent=parent;this.container;};PreloadContainer.prototype.create=function(){this.container=$("<div></div>").appendTo("body").css({display:"none",width:0,height:0,overflow:"hidden"});this.processQueue();};PreloadContainer.prototype.processQueue=function(){for(var i=0;this.toPreload.length>i;i++){if(!this.parent.destroyed){this.preloadImage(this.toPreload[i]);}}};PreloadContainer.prototype.addImage=function(src){this.toPreload.push(src);};PreloadContainer.prototype.preloadImage=function(url){var image=new PreloadImage();image.addToPreloader(this,url);image.bindLoadEvent();};function PreloadImage(parent){this.element;this.parent=parent;};PreloadImage.prototype.addToPreloader=function(preloader,url){this.element=$("<img />").attr("src",url);this.element.appendTo(preloader.container);this.parent=preloader.parent;};PreloadImage.prototype.bindLoadEvent=function(){this.parent.imageCounter++;this.element[0].ref=this;new imagesLoaded(this.element,function(e){e.elements[0].ref.completeLoading();});};PreloadImage.prototype.completeLoading=function(){this.parent.imageDone++;var percentage=(this.parent.imageDone/this.parent.imageCounter)*100;this.parent.overlayLoader.updatePercentage(percentage);if(this.parent.imageDone==this.parent.imageCounter||percentage>=100){this.parent.endLoader();}};function QueryLoader2(element,options){this.element=element;this.$element=$(element);this.options=options;this.foundUrls=[];this.destroyed=false;this.imageCounter=0;this.imageDone=0;this.alreadyLoaded=false;this.preloadContainer=new PreloadContainer(this);this.overlayLoader=new OverlayLoader(this);this.defaultOptions={onComplete:function(){},onLoadComplete:function(){},backgroundColor:"#000",barColor:"#fff",overlayId:'qLoverlay',barHeight:1,percentage:false,deepSearch:true,completeAnimation:"fade",minimumTime:500};this.init();};QueryLoader2.prototype.init=function(){this.options=$.extend({},this.defaultOptions,this.options);var images=this.findImageInElement(this.element);if(this.options.deepSearch==true){var elements=this.$element.find("*:not(script)");for(var i=0;i<elements.length;i++){this.findImageInElement(elements[i]);}}
51this.preloadContainer.create();this.overlayLoader.createOverlay();};QueryLoader2.prototype.findImageInElement=function(element){var url="";var obj=$(element);var type="normal";if(obj.css("background-image")!="none"){url=obj.css("background-image");type="background";}else if(typeof(obj.attr("src"))!="undefined"&&element.nodeName.toLowerCase()=="img"){url=obj.attr("src");}
52if(!this.hasGradient(url)){url=this.stripUrl(url);var urls=url.split(", ");for(var i=0;i<urls.length;i++){if(this.validUrl(urls[i])&&this.urlIsNew(urls[i])){var extra="";if(this.isIE()||this.isOpera()){extra="?rand="+Math.random();this.preloadContainer.addImage(urls[i]+extra);}else{if(type=="background"){this.preloadContainer.addImage(urls[i]+extra);}else{var image=new PreloadImage(this);image.element=obj;image.bindLoadEvent();}}
53this.foundUrls.push(urls[i]);}}}};QueryLoader2.prototype.hasGradient=function(url){if(url.indexOf("gradient")==-1){return false;}else{return true;}};QueryLoader2.prototype.stripUrl=function(url){url=url.replace(/url\(\"/g,"");url=url.replace(/url\(/g,"");url=url.replace(/\"\)/g,"");url=url.replace(/\)/g,"");return url;};QueryLoader2.prototype.isIE=function(){return navigator.userAgent.match(/msie/i);};QueryLoader2.prototype.isOpera=function(){return navigator.userAgent.match(/Opera/i);};QueryLoader2.prototype.validUrl=function(url){if(url.length>0&&!url.match(/^(data:)/i)){return true;}else{return false;}};QueryLoader2.prototype.urlIsNew=function(url){if(this.foundUrls.indexOf(url)==-1){return true;}else{return false;}};QueryLoader2.prototype.destroyContainers=function(){this.destroyed=true;this.preloadContainer.container.remove();this.overlayLoader.container.remove();};QueryLoader2.prototype.endLoader=function(){this.destroyed=true;this.onLoadComplete();};QueryLoader2.prototype.onLoadComplete=function(){this.options.onLoadComplete();if(this.options.completeAnimation=="grow"){var animationTime=this.options.minimumTime;this.overlayLoader.loadbar[0].parent=this;this.overlayLoader.loadbar.stop().animate({"width":"100%"},animationTime,function(){$(this).animate({top:"0%",width:"100%",height:"100%"},500,function(){this.parent.overlayLoader.container[0].parent=this.parent;this.parent.overlayLoader.container.fadeOut(500,function(){this.parent.destroyContainers();this.parent.options.onComplete();});});});}else{var animationTime=this.options.minimumTime;this.overlayLoader.container[0].parent=this;this.overlayLoader.container.fadeOut(animationTime,function(){this.parent.destroyContainers();this.parent.options.onComplete();});}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;
53from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)
54from+=len;for(;from<len;from++){if(from in this&&this[from]===elt)
55return from;}
56return-1;};}
57$.fn.queryLoader2=function(options){return this.each(function(){(new QueryLoader2(this,options));});};})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.