PageSourceSearch

https://www.fruchtfliege.com/plugins/kk_dropper/drops/Shared/framework.js?v=100.19.4

js fruchtfliege.com collected 2026-10-08 08:52:06 UTC 10,112 bytes, 1 lines download raw bytes

1!function(){if(window.DropperFramework)console.warn("DropperFramework is already loaded. Skipping loading a second time.");else{var DropperFramework=function(){this._init()};DropperFramework.prototype={_init:function(){var e=this;this._hookHelper=new DropperFrameworkHookLib,this._inits={},this._drops=[],this._resources=[],this._initScriptId=null,this._domReady=!1,this._listeners={},this._ioToken=null,e.initDrops("body"),$((function(){e._domReady=!0,e._hookHelper.hook("init_article",(function(){e.initDrops("#contentmid")}))}))},on:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].indexOf(t)<0&&this._listeners[e].push(t)},trigger:function(e,t){if(e&&this._listeners[e]&&this._listeners[e].length)for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n](t)},getIOToken:function(){return this._ioToken||(this._ioToken=$('meta[name="kk-dropper-io-token"]').attr("content")||null),this._ioToken},eval:function(__script){__script&&"string"==typeof __script&&__script.trim()&&$.proxy((function(){var DropperFramework=window.DropperFramework;eval(__script)}),window)()},setInitId:function(e){this._initScriptId=e},getInitId:function(){return this._initScriptId||null},init:function(e,t){var n=this.getInitId();this.setInitId(null);var r=n||this._hashFunction(t),i=e+";"+r,o={selector:e,callback:t,sig:r};this._inits[i]=o;var s=document.currentScript||null;s&&s.setAttribute("data-dropper-evaled","true"),this._domReady&&this.runInit(o)},runInit:function(e){var t=this;$(e.selector).each((function(){var n=$(this),r=n.data("framework.cbsigs");if(!(r&&r.indexOf(e.sig)>=0)){r||(r=[]),r.push(e.sig),n.data("framework.cbsigs",r);var i=new DropInstance(n);i.data=e.callback?e.callback(i):null,i.initiator=e.callback||null,t._drops.push(i),n.data("framework.drop")?n.data("framework.drop",n.data("framework.drop").concat(i)):n.data("framework.drop",[i]),n.addClass("dropper-js"),t.trigger("drop.init",i)}}))},initDrops:function(e){var t=this;$((function(){t._cleanup(),e=e||"body";var n=$(e);for(var r in"body"!==e&&n.find('script[data-dropper-script="true"]').each((function(){var e=$
1(this);if(!(e.attr("type")&&e.attr("type").indexOf("javascript")<0)&&!e.attr("data-dropper-evaled")&&(e.attr("data-dropper-evaled","true"),t._domReady)){var n=e.text();t.eval(n)}})),t._inits){var i=t._inits[r];t.runInit(i)}t._domReady=!0}))},requireResource:function(e,t){if(-1===this._resources.indexOf(t)){switch(this.registerResources([t]),this.trigger("requireResource.beforeLoad",{type:e,file:t}),e){case"javascript":$('meta[name="kk-dropper-scripts"]').before('<script data-live-inject="true" type="text/javascript" src="'+t+'"><\/script>');break;case"css":$('meta[name="kk-dropper-stylesheets"]').before('<link data-live-inject="true" type="text/css" rel="stylesheet" media="all" href="'+t+'"/>')}this.trigger("requireResource.loaded",{type:e,file:t})}},registerResources:function(e){this._resources||(this._resources=[]);for(var t=0;t<e.length;t++){var n=e[t];-1==this._resources.indexOf(n)&&this._resources.push(n)}},notifyResize:function(e){var t=this;$(e).find(".dropper-js").each((function(){$(this).triggerHandler("drop.parent.resize",[e]),t.trigger("drop.parent.resize",e)}))},initLazyLoadContainer:function(e,t,n){var r=this,done=function(e,t,n){var i=t.attr("data-lazy-load-container-drop");e.filter(".drop-container").hide(),t.css({height:"0px",padding:"0px"}),t.after(e),r.initDrops(e),e.filter(".drop-container").fadeIn(250),t.fadeOut(250,(function(){t.remove()})),r.initDrops(e),r.trigger("initLazyLoadContainer",{content:e,guid:i}),n&&n(e)},replaceContent=function(){var i=$(e).not('[data-placeholder-evaled="true"]');if(!i||!i.length)return console.warn("DropperFramework: Could not lazy load container because no placeholder was found for selector:",e);
1i.each((function(){var e=$(this);e.attr("data-placeholder-evaled","true");var i=e.attr("data-lazy-load-container-drop");if("ajax"===t)r.loadDropAjax(i,(function(t,r){t||done(r,e,n)}));else{var o=$(t);done(o,e,n)}}))};if(window.IntersectionObserver){var i=new window.IntersectionObserver((function(e,t){e.forEach((function(e){e.isIntersecting&&(replaceContent(),t.disconnect())}))}),{rootMargin:"10000px 0px 300px 0px"}),o=document.querySelector(e);o?i.observe(o):console.warn("DropperFramework: Could not find lazy load container for selector:",e)}else replaceContent()},loadDropAjax:function(e,t){this.ajax({url:window.location.href,type:"POST",dataType:"JSON",data:{kk_dropper_get_drop_ajax:e,token:this.getIOToken()},success:function(e){var n=$(e);t&&t(null,n)},error:function(e){var n=e.responseJSON||e.responseText||e;console.error("Could not render drop via Ajax:",n),t&&t(n)}})},_hashFunction:function(e){if("function"!=typeof e)return!1;var t,n,r=e.toString(),i=0;if(0==r.length)return i;for(t=0,n=r.length;t<n;t++)i=(i<<5)-i+r.charCodeAt(t),i|=0;return i},_cleanup:function(){for(var e=null,t=0;t<this._drops.length;t++)(e=this._drops[t])&&e.$&&!$.contains(document.documentElement,e.$.get(0))&&(e.$.remove(),e.trigger("cleanup"),this.trigger("drop.cleanup",e),this._drops.splice(t,1),t--)},hook:function(e,t){this._hookHelper.hook(e,t)},hookEvo:function(e,t,n){this._hookHelper.hookEvo(e,t,n)},isMobile:function(){return!!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},ajax:function(e){return e.xhr=function(){var e=$.ajaxSettings.xhr(),t=e.setRequestHeader;return e.setRequestHeader=function(e,n){"X-Requested-With"!=e&&t.call(this,e,n)},e},e.data?e.data["x-dropper-ajax-request"]=!0:e.data={"x-dropper-ajax-request":!0},$.ajax(e)},io:function(e,t){return this._io(!1,e,t)},ioStatic:function(e,t){return this._io(!0,e,t)},_io:function(e,t,n){var r=this;return e=!!e,n=$.extend({init:!0,samePage:!0},n),{call:function(i,o,s){var a=window.location.href;return n.samePage||(a=n.url||$("head base:first").attr("href")||""),r.ajax({url:a,method:"POST",dataType:"JSON",data:{kk_drop_io:JSON.stringify({static:e,guid:e?null:t,dropId:e?t:null,options:n,fn:i,params:o,token:r.getIOToken()})},success:function(e){return r.trigger("io.success",e),s(null,e)},error:function(e,t,n){var i="unknown";return e.responseJSON?i=e.responseJSON:e.responseText?i=e.responseText:n&&n.message?i=n.message:"string"==typeof n?i=n:t&&(i=t),r.trigger("io.error",i),s(i,null)}})}}},registerComponent:function(e,t,n){if(window.customElements.get(e))return console.warn(`DropperFramework: Could not register component <${e}> because it is already defined as custom element.`);n=!1!==n;const r=class extends HTMLElement{constructor(){if(super(),this._initialized=!1,!n)return;this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML="<slot></slot>";const e=this.shadowRoot.querySelector("slot");let t=null;const r=window.requestAnimationFrame||window.setTimeout,i=window.cancelAnimationFrame||window.clearTimeout,onSlotChange=()=>{t&&i(t),t=r(()=>{this._initComponent(),e.removeEventListener("slotchange",onSlotChange)})};e.addEventListener("slotchange",onSlotChange)}connectedCallback(){n||this.isConnected&&this._initComponent()}getComponent(){return this._component}_initComponent(){this._initialized||(this._component=t(this,this._getOptions(),this._getDropGuid()),this._initialized=!0)}_getOptions(){return JSON.parse(this.getAttribute("data-options")||"{}")}_getDropGuid(){return this.getAttribute("data-drop-guid")}};window.customElements.define(e,r)},stats:function(){let e,t=/<!-- DROP (.*?) \[(.*?)] \(([\d.]+)ms(\/cached)?(?: \+ ([\d.]+)ms linked)?\) -->/gm,n=document.documentElement.innerHTML,r={totalTime:0,drops:[]};for(;null!==(e=t.exec(n));){e.index===t.lastIndex&&t.lastIndex++;let n={selfTime:parseFloat(e[3])||0,linkedTime:parseFloat(e[5])||0,cached:!!e[4],name:e[1]||"Unknown",dropId:e[2]||"Unknown"};r.totalTime+=n.selfTime,r.drops.push(n)}r.drops.sort((function(e,t){return t.selfTime-e.selfTime})),r={"Total Time (ms)":r.totalTime,"Single Drop Timings (ms)":r.drops},console.group("Dropper Performance Statistics");for(let e in r)console.group(e),console.log(r[e]),console.groupEnd();console.groupEnd()}};var DropInstance=function(e){this._init(e)};DropInstance.prototype={_init:function(e){this._listeners={},this.$=e},on:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].indexOf(t)<0&&this._listeners[e].push(t)},trigger:function(e,t){if(e&&this._listeners[e]&&this._listeners[e].length)for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n](t)},_reload:function(){DropperFramework.initDrops(this.$)},visible:function(e,t){var n=this;n.isVisible()?e(n):setTimeout((function(){n.visible(e,t)}),t||250)},isVisible:function(){return this._isVisible(this.$)},_isVisible:function(e){return!!e&&!$(e).is(":hidden")}},$.fn.drops=function(){var e=[];return $(this).each((function(){$(this).data("framework.drop")&&(e=e.concat($(this).data("framework.drop")))})),e}
1,$.fn.drop=function(){var e=$(this).drops();return e.length?e[0]:null};var DropperFrameworkHookLib=function(){this._callbacks={},this._originals={}};DropperFrameworkHookLib.prototype={hook:function(e,t){"function"==typeof t?e&&"string"==typeof e&&e in window&&(void 0===this._callbacks[e]&&(this._callbacks[e]=[],this._createHookableFunction(e)),this._callbacks[e].push(t)):console.log("kkHook: tried to register a non-function to hook:",e,"Callback was:",t)},_createHookableFunction:function(e){var t=this;"function"==typeof window[e]&&(this._originals[e]=window[e],window[e]=function(){var n=arguments,r=this;t._originals[e].apply(r,n),$((function(){setTimeout((function(){if(t._callbacks&&t._callbacks[e])for(var i=0;i<t._callbacks[e].length;i++)t._callbacks[e][i].apply(r,n)}),10)}))})},hookEvo:function(e,t,n){if(!$||!$.evo||!$.evo[e])return console.warn("$.evo."+e+" does not exist and could not be hooked.");var r=$.evo[e],__ctor=function(){var i=r.apply(this,arguments);if(!i[t])return console.warn(t+" does not exist on the resulting object of $.evo."+e+"() and could not be hooked."),i;var o=i[t];return i[t]=function(){return n.apply(this,arguments),o.apply(this,arguments)},i};return $.evo[e]=__ctor,__ctor}},window.DropperFramework=new DropperFramework}}(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.