PageSourceSearch

https://www.scimagazine.it/wp-content/cache/wpfc-minified/9k3cfuis/67z0f.js

js scimagazine.it collected 2026-10-02 22:42:45 UTC 4,852 bytes, 174 lines download raw bytes

1'use strict';
2(function (root, factory){
3if(typeof define==="function"&&define.amd){
4define(factory);
5}else if(typeof exports==="object"){
6module.exports=factory();
7}else{
8root.ResizeSensor=factory();
9}}(typeof window!=='undefined' ? window:this, function (){
10if(typeof window==="undefined"){
11return null;
12}
13var requestAnimationFrame=window.requestAnimationFrame ||
14window.mozRequestAnimationFrame ||
15window.webkitRequestAnimationFrame ||
16function (fn){
17return window.setTimeout(fn, 20);
18};
19function forEachElement(elements, callback){
20var elementsType=Object.prototype.toString.call(elements);
21var isCollectionTyped=('[object Array]'===elementsType
22|| ('[object NodeList]'===elementsType)
23|| ('[object HTMLCollection]'===elementsType)
24|| ('[object Object]'===elementsType)
25|| ('undefined'!==typeof jQuery&&elements instanceof jQuery)
26|| ('undefined'!==typeof Elements&&elements instanceof Elements)
27);
28var i=0, j=elements.length;
29if(isCollectionTyped){
30for (; i < j; i++){
31callback(elements[i]);
32}}else{
33callback(elements);
34}}
35function getElementSize(element){
36if(!element.getBoundingClientRect){
37return {
38width: element.offsetWidth,
39height: element.offsetHeight
40}}
41var rect=element.getBoundingClientRect();
42return {
43width: Math.round(rect.width),
44height: Math.round(rect.height)
45}}
46var ResizeSensor=function(element, callback){
47function EventQueue(){
48var q=[];
49this.add=function(ev){
50q.push(ev);
51};
52var i, j;
53this.call=function(){
54for (i=0, j=q.length; i < j; i++){
55q[i].call();
56}};
57this.remove=function(ev){
58var newQueue=[];
59for(i=0, j=q.length; i < j; i++){
60if(q[i]!==ev) newQueue.push(q[i]);
61}
62q=newQueue;
63};
64this.length=function(){
65return q.length;
66}}
67function attachResizeEvent(element, resized){
68if(!element) return;
69if(element.resizedAttached){
70element.resizedAttached.add(resized);
71return;
72}
73element.resizedAttached=new EventQueue();
74element.resizedAttached.add(resized);
75element.resizeSensor=document.createElement('div');
76element.resizeSensor.dir='ltr';
77element.resizeSensor.className='resize-sensor';
78var style='position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';
79var styleChild='position: absolute; left: 0; top: 0; transition: 0s;';
80element.resizeSensor.style.cssText=style;
81element.resizeSensor.innerHTML =
82'<div class="resize-sensor-expand" style="' + style + '">' +
83'<div style="' + styleChild + '"></div>' +
84'</div>' +
85'<div class="resize-sensor-shrink" style="' + style + '">' +
86'<div style="' + styleChild + ' width: 200%; height: 200%"></div>' +
87'</div>';
88element.appendChild(element.resizeSensor);
89var position=window.getComputedStyle(element).getPropertyValue('position');
90if('absolute'!==position&&'relative'!==position&&'fixed'!==position){
91element.style.position='relative';
92}
93var expand=element.resizeSensor.childNodes[0];
94var expandChild=expand.childNodes[0];
95var shrink=element.resizeSensor.childNodes[1];
96var dirty, rafId, newWidth, newHeight;
97var size=getElementSize(element);
98var lastWidth=size.width;
99var lastHeight=size.height;
100var reset=function(){
101var invisible=element.offsetWidth===0&&element.offsetHeight===0;
102if(invisible){
103var saveDisplay=element.style.display;
104element.style.display='block';
105}
106expandChild.style.width='100000px';
107expandChild.style.height='100000px';
108expand.scrollLeft=100000;
109expand.scrollTop=100000;
110shrink.scrollLeft=100000;
111shrink.scrollTop=100000;
112if(invisible){
113element.style.display=saveDisplay;
114}};
115element.resizeSensor.resetSensor=reset;
116var onResized=function(){
117rafId=0;
118if(!dirty) return;
119lastWidth=newWidth;
120lastHeight=newHeight;
121if(element.resizedAttached){
122element.resizedAttached.call();
123}};
124var onScroll=function(){
125var size=getElementSize(element);
126var newWidth=size.width;
127var newHeight=size.height;
128dirty=newWidth!=lastWidth||newHeight!=lastHeight;
129if(dirty&&!rafId){
130rafId=requestAnimationFrame(onResized);
131}
132reset();
133};
134var addEvent=function(el, name, cb){
135if(el.attachEvent){
136el.attachEvent('on' + name, cb);
137}else{
138el.addEventListener(name, cb);
139}};
140addEvent(expand, 'scroll', onScroll);
141addEvent(shrink, 'scroll', onScroll);
142requestAnimationFrame(reset);
143}
144forEachElement(element, function(elem){
145attachResizeEvent(elem, callback);
146});
147this.detach=function(ev){
148ResizeSensor.detach(element, ev);
149};
150this.reset=function(){
151element.resizeSensor.resetSensor();
152};};
153ResizeSensor.reset=function(element, ev){
154forEachElement(element, function(elem){
155elem.resizeSensor.resetSensor();
156});
157};
158ResizeSensor.detach=function(element, ev){
159forEachElement(element, function(elem){
160if(!elem) return;
161if(elem.resizedAttached&&typeof ev==="function"){
162elem.resizedAttached.remove(ev);
163if(elem.resizedAttached.length()) return;
164}
165if(elem.resizeSensor){
166if(elem.contains(elem.resizeSensor)){
167elem.removeChild(elem.resizeSensor);
168}
169delete elem.resizeSensor;
170delete elem.resizedAttached;
171}});
172};
173return ResizeSensor;
174}));

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.