PageSourceSearch

https://www.poresto.com/js/bundle.js?v=1.16

js poresto.com collected 2026-10-02 19:16:49 UTC 16,184 bytes, 429 lines download raw bytes

1$(document).ready(() => {
2    $('.block_3col-adBanner.slide .content.mobile').each((n, ele) => {
3        $(ele).owlCarousel({
4            loop:true,
5            margin:10,
6            nav:true,
7            dots:true,
8            items:1,
9            navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>']
10        })
11    });
12
13    $('.block_3col-news-addBanner.slide .content.mobile').each((n, ele) => {
14        $(ele).owlCarousel({
15            loop:true,
16            margin:10,
17            nav:true,
18            dots:true,
19            items:1,
20            navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>']
21        })
22    });
23
24    $('.block_opinion.slide .content').each((n, ele) => {
25        $(ele).owlCarousel({
26            loop:true,
27            margin:10,
28            nav:true,
29            dots:true,
30            items:1,
31            navText : ['<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M15.9999 0.66L1.00006 15.6601L15.9999 30.6602" stroke="#2F2F2F" stroke-width="0.75"/> </svg>','<svg xmlns="http://www.w3.org/2000/svg" width="17" height="31" viewBox="0 0 17 31" fill="none"> <path d="M1.00024 30.6603L16.0001 15.6602L1.00027 0.660156" stroke="#2F2F2F" stroke-width="0.75"/> </svg>']
32        })
33    });
34
35    //Evento click menu lateral
36    let side_menu = $(".block_menu-desktop");
37    let close_side_menu =    (e) => {
38        e.preventDefault();
39        side_menu.removeClass('open');
40        $('body')
41            .removeClass('open-menu')
42            .off('click', close_side_menu);
43    };
44
45    $('body')
46        .on('click', ".toggle-side-menu", (e) => {
47            e.preventDefault();
48            side_menu.toggleClass('open');
49            $('body')
50                .toggleClass('open-menu')
51                .on('click', close_side_menu);
52        });
53
54    let last_menu_opened = null;
55    side_menu
56        // click on the menu background does nothing by default
57        .on('click', (e) => {
58            e.stopImmediatePropagation();
59        })
60        .on('click', ".ico-close", close_side_menu)
61        .on('click', '[data-depth] > a > div', (e) => {
62            // Click on a menu entry
63            e.stopImmediatePropagation();
64        })
65        .on('click', '[data-depth] > a', (e) => {
66            // click on a menu opens submenu
67            e.preventDefault();
68            e.stopPropagation();
69            if (e.currentTarget != last_menu_opened) {
70                if (last_menu_opened)
71                    $(last_menu_opened).next().removeClass('open').parent().removeClass('unfolded');
72                    last_menu_opened = e.currentTarget;
73            }
74            else last_menu_opened = null;
75            $(e.currentTarget).next().toggleClass('open').parent().toggleClass('unfolded');
76
77        });
78
79    //Leer más block_open-portadilla-especial
80    $('.block_open-portadilla-especial').on('click', ".wrap-read-more", (e) => {
81        e.preventDefault();
82        $(".excerpt", e.delegateTarget).toggleClass("view-all");
83    });
84
85    // Scroll
86    $(window).on("scroll", () => {
87        let scrollPosition = window.scrollY || document.documentElement.scrollTop;
88        let body = document.body;
89
90        if (scrollPosition > 40) {
91            body.classList.add('scrolled');
92        } else if (scrollPosition <= 0) { 
93            body.classList.remove('scrolled');
94        }
95    });
96
97    let header_portadilla = $('.block_header_portadilla');
98    if (header_portadilla.length > 0) {
99        let inner = $('.block_menu-inner-portadilla')[0];
100        $(window).on('scroll', () => {
101            let scrollPosition = window.scrollY || document.documentElement.scrollTop;
102            let body = document.body;
103            
104            let inner_area = inner.getBoundingClientRect();
105            body.classList.toggle('change-header', inner_area.bottom < 60);
106        })
107    }
108
109    //Progressbar
110    const blockProgressBar = document.querySelector(".block_progressbar");
111
112    if(blockProgressBar) {
113
114        let progressBar = blockProgressBar.querySelector(".progress-bar");
115 
116        let documentHeight = Math.max(
117            document.body.scrollHeight, document.body.offsetHeight,
118            document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight
119        );
120    
121        window.addEventListener("scroll", function() {
122            let scrollTop = window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop;
123            let scrollPercentage = (scrollTop / (documentHeight - window.innerHeight)) * 100;
124    
125            progressBar.style.width = scrollPercentage + "%";
126        });
127    }
128
129    //Swipe menu
130    const blockMenu = document.querySelector(".block_menu");
131
132    if(blockMenu) {
133        
134        const navContainer = blockMenu.querySelector('.nav-menu');
135      
136        navContainer.addEventListener('mousedown', (e) => {
137
138            if(window.innerWidth < 768 && window.innerWidth > 1224) 
139                return;
140
141            e.preventDefault();
142            let startX = e.pageX;
143            let startScroll = navContainer.scrollLeft;
144            navContainer.style.cursor = 'grabbing';
145      
146            let mousemove = (e) => {
147                e.preventDefault();
148                let walk = e.pageX - startX;
149                navContainer.scrollLeft = startScroll - walk;
150            };
151
152            let mouseup = (e) => {
153                e.preventDefault();
154                navContainer.style.cursor = 'grab';
155                window.removeEventListener('mousemove', mousemove);
156                window.removeEventListener('mouseup', mouseup);
157            };
158
159            window.addEventListener('mousemove', mousemove);
160            window.addEventListener('mouseup', mouseup);
161        });
162    }
163
164    //Swipe top header
165    const blockTopHeader = document.querySelector(".block_top-header");
166
167    if(blockTopHeader) {
168        
169        const navContainer = blockTopHeader.querySelector('.nav-content');
170
171        navContainer.addEventListener('mousedown', (e) => {
172            e.preventDefault();
173            let startX = e.pageX;
174            let startScroll = navContainer.scrollLeft;
175            navContainer.style.cursor = 'grabbing';
176
177            let mousemove = (e) => {
178                e.preventDefault();
179                let walk = e.pageX - startX;
180                navContainer.scrollLeft = startScroll - walk;
181            };
182
183            let mouseup = (e) => {
184                e.preventDefault();
185                navContainer.style.cursor = 'grab';
186                window.removeEventListener('mousemove', mousemove);
187                window.removeEventListener('mouseup', mouseup);
188            };
189
190            window.addEventListener('mousemove', mousemove);
191            window.addEventListener('mouseup', mouseup);
192        });
193    }
194
195    $(document.body).on('click', '.wrap-go-back p', (e) => {
196      e.preventDefault();
197      window.history.back();
198    });
199
200    // Compartir
201    let facebookShare = (e) => {
202        e.preventDefault();
203        let app_id = 292213061927134,
204            article = encodeURIComponent(e.currentTarget.href+'?origin=FB'),
205            title = encodeURIComponent($(e.currentTarget).data('title'));
206
207        let url = `https://www.facebook.com/dialog/share?display=popup&app_id=${app_id}&href=${article}&quote=${title}`;
208        window.open(url, 'facebookShare', 'width=626,height=436');
209    };
210
211    let twitterShare = (e) => {
212        e.preventDefault();
213        let article = encodeURIComponent(e.currentTarget.href+'?origin=X'),
214            title = encodeURIComponent($(e.currentTarget).data('title'));
215
216        let url = `https://x.com/intent/tweet?text=${title}&url=${article}&via=PorEstoOnline&lang=es`;
217        window.open(url, 'twitterShare', 'width=626,height=436');
218    };
219
220    let linkedinShare = (e) => {
221        e.preventDefault();
222        let article = encodeURIComponent(e.currentTarget.href+'?origin=LIn');
223        let url = `https://www.linkedin.com/sharing/share-offsite/?url=${article}`;
224        window.open(url, 'linkedInShare', 'width=626,height=436');
225    }
226
227    let copyLink = (e) => {
228        e.preventDefault();
229        navigator.clipboard.writeText(e.currentTarget.href).then(
230        () => {
231            console.log('Content copied to clipboard');
232        },
233        () => {
234            console.error('Failed to copy');
235        });
236    };
237
238    let live = $('#live-timeline');
239    if (live[0]) {
240        function updateDates() {
241            let ret = false;
242            let now = Date.now();
243            $('.box>.timeline>.time', live).each((n, it) => {
244                let diff = now - Date.parse($(it).data('time'));
245                let pref = diff>0 ? 'Hace' : 'Faltan';
246                diff = Math.abs(diff);
247                if (diff < 86400000) { // one day
248                    let min = Math.floor(diff/1000/60) % 60;
249                    let hours = Math.floor(diff/1000/60/60);
250                    if (hours > 0) {
251                        if (hours > 1)
252                            $(it).text(`${pref} ${hours} horas y ${min} min`);
253                        else
254                            $(it).text(`${pref} 1 hora y ${min} min`);
255                    }
256                    else $(it).text(`${pref} ${min} min`);
257                    ret = true;
258                }
259            });
260            return ret;
261        }
262
263        if (updateDates()) {
264            setInterval( updateDates, 60000 );
265        }
266
267        live
268            .on('click', '.wrap-facebook a.link', facebookShare)
269            .on('click', '.wrap-twitter a.link', twitterShare);
270    }
271
272    let single = $('body.page-single');
273    if (single[0]) {
274        single
275            .on('click', ".wrap-share .share, .wrap-re-text .re-text", (e) => {
276                let button = $(e.target);
277                let close = (e) => {
278                    e.stopImmediatePropagation();
279                    button.removeClass('open');
280                };
281                if (!button.hasClass('open')) {
282                    button.addClass('open');
283                    $('body').one('click', close);
284                }
285                else {
286                    button.removeClass('open');
287                    $('body').off('click', close);
288                }
289            })
290            .on('click', 'a.facebook', facebookShare)
291            .on('click', 'a.twitter', twitterShare)
292            .on('click', 'a.linkedin', linkedinShare)
293            .on('click', 'a.copy', copyLink)
294    
295            .on('click', '.box-re-text .box', (e) => {
296                e.preventDefault();
297                let el = $(e.currentTarget);
298                el.parent().children().removeClass('active');
299                el.addClass('active');
300                if (el.hasClass("small")) {
301                    $('html')
302                        .removeClass("font-medium")
303                        .removeClass("font-large")
304                        .addClass("font-small");
305                }
306                else if (el.hasClass("medium")) {
307                    $('html')
308                        .removeClass("font-small")
309                        .removeClass("font-large")
310                        .addClass("font-medium");
311                }
312                else if (el.hasClass("big")) {
313                    $('html')
314                        .removeClass("font-small")
315                        .removeClass("font-medium")
316                        .addClass("font-large");
317                }
318                    
319            });
320
321        let playVideo = (wrap_video) => {
322
323            if (!wrap_video[0]) return;
324
325            let wrap_caratula = wrap_video.prev(),
326                type = wrap_video.data('type');
327
328            wrap_caratula.hide();
329            wrap_video.show();
330            switch(type) {
331                case 'youtube':
332                    let iframe = $('iframe', wrap_video)[0];
333                    iframe.src += '?autoplay=1';
334                    break;
335                case 'simple':
336                    let video = $('video', wrap_video)[0];
337                    video.autoplay = true;
338                    if (video.readyState == 4)
339                        video.play();
340                    else 
341                        video.addEventListener('canplay', () => {
342                            video.play();
343                        });
344                    break;
345            }
346
347        };
348
349        single
350            .on('click', '.wrap-img-featured.video .wrap', (e) => {
351                e.preventDefault();
352                playVideo($(e.target).next());
353            });
354
355        if (location.search.indexOf('autoplay=1') >= 0) playVideo($('.wrap-img-featured.video .wrap-video'));
356            
357
358        $('body').on('click', '.refresh-live', (e) => {
359            e.preventDefault();
360            location.reload();
361        });
362
363        if (window.innerWidth <= 768) {
364            let whatapplink = $('.wrap-share .box-share a.whatsapp', single);
365            whatapplink
366                .attr('href', "whatsapp://send?text="+encodeURIComponent(location.href+'\r\n"'+whatapplink.data('title')))
367                .removeAttr('target');
368        }
369    }
370
371    $('body').on('click', '.load-more', (e) => {
372
373        e.preventDefault();
374
375        const loadmore = $(e.currentTarget);
376        const path = loadmore.data('path');
377
378        let page = loadmore.data('page');
379        if (!page) {
380            const urlqs = new URLSearchParams(window.location.search);
381            page = parseInt(urlqs.get('page') || 0);
382        }
383
384        $.ajax({
385            url: `/mod/${path}/${page + 1}_body.html`,
386            success: (resp) => {
387                let resp_content = $('>div>div.col-left>.content', $(resp));
388                loadmore.prev().append(resp_content.children());
389                loadmore.data('page', page+1);
390
391                let next_page = resp_content.next('.load-more');
392                if (next_page.length == 0) loadmore.remove();
393
394            }
395        });
396    });
397
398    let blockStickyAdd = document.getElementById('sticky_add');
399    if (blockStickyAdd) {
400        let timeoutId = null; // Variable para almacenar el ID del temporizador
401
402        window.addEventListener('scroll', function() {
403            let scrollPosition = window.scrollY;
404
405            if (scrollPosition >= 200) {
406                blockStickyAdd.classList.add('active');
407                blockStickyAdd.classList.remove('closed'); // Asegurarse de que 'closed' se elimine si la posición es mayor o igual a 200
408                clearTimeout(timeoutId); // Limpiar el temporizador si ya está configurado
409            } else {
410                blockStickyAdd.classList.add('closed');
411                // Configurar un temporizador solo si no está configurado actualmente y la clase 'closed' aún no está presente
412                if (!blockStickyAdd.classList.contains('closed') && timeoutId === null) {
413                    timeoutId = setTimeout(() => {
414                        blockStickyAdd.classList.remove('active');
415                        timeoutId = null; // Restablecer el ID del temporizador
416                    }, 1000);
417                }
418            }
419        });
420
421        const closeBTN =  blockStickyAdd.querySelector(".wrap-svg");
422        if(closeBTN) closeBTN.addEventListener("click", e => {blockStickyAdd.classList.remove('active');})            
423        
424    }
425
426    $('body').on('contextmenu', 'video', function(ev) {
427        ev.preventDefault();
428    });
429})

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.