PageSourceSearch

https://welog.vn/themes/welog2025/js/app.js?v=aHu6qCJtMwP3m2DWKMPl3NvjGJmlXa72JMaukHVEUkQ

js welog.vn collected 2026-10-01 16:27:00 UTC 4,467 bytes, 150 lines download raw bytes

1var widgetPopupModalEl = document.querySelector('#widgetPopupModal');
2
3if (widgetPopupModalEl) {
4    var timestamp = widgetPopupModalEl.getAttribute('data-timestamp');
5    const currentDate = `${new Date().toDateString()}_${timestamp}`;
6    const lastShownDate = localStorage.getItem('lastShownDate');
7    console.log('popup', currentDate, lastShownDate)
8    if (!lastShownDate || lastShownDate !== currentDate) {
9
10
11        const widgetPopupModal = new bootstrap.Modal(widgetPopupModalEl)
12        setTimeout(() => {
13
14            widgetPopupModal.show();
15            // Update the last shown date in localStorage
16            localStorage.setItem('lastShownDate', currentDate);
17
18        }, 8000);
19
20    }
21}
22
23const popupMessage = document.getElementById('popupMessageModal');
24if (popupMessage) {
25
26  
27    console.log('show popupMessageModal');
28    setTimeout(function () {
29        const popupMessageModal = new bootstrap.Modal(popupMessage)
30        popupMessageModal.show();
31    }, 100);
32}
33
34
35const stickyElement = document.getElementById('page-header');
36if (stickyElement) {
37    const stickyOffset = stickyElement.offsetTop;
38    window.addEventListener('scroll', () => {
39        if (window.scrollY > stickyOffset) {
40            stickyElement.classList.add('sticky');
41        } else {
42            stickyElement.classList.remove('sticky');
43        }
44    });
45}
46
47const chinaSourceSearch = document.getElementById('header-search');
48if (chinaSourceSearch) {
49    const input = chinaSourceSearch.querySelector('input[name="source"]');
50    const inputBtn = chinaSourceSearch.querySelector('.btn-source span');
51    const items = chinaSourceSearch.querySelectorAll('.dropdown-item');
52    console.log('text', items.length)
53    items.forEach(item => {
54        item.addEventListener('click', () => {
55
56            items.forEach(item2 => {
57                item2.classList.remove('active')
58            })
59            const text = item.textContent.trim();
60            item.classList.add('active');
61            input.value = text;
62            inputBtn.textContent = text;
63
64        });
65    });
66}
67
68if (AOS) {
69    AOS.init();
70}
71
72const homeBlock6 = document.getElementById('home-block-6');
73if (homeBlock6) {
74
75    var swiperProcessNumber = new Swiper(".home-item-6 .swiper-number", {
76        speed: 1200,
77        slidesPerView: "auto",
78        // slidesPerGroup: 2,
79        initialSlide: 0,
80        centeredSlides: true,
81        loop: false,
82        spaceBetween: 0,
83        slideToClickedSlide: true,
84        direction: "vertical",
85        effect: "slide",
86    });
87
88    var swiperProcess = new Swiper(".home-item-6 .swiper", {
89        speed: 1200,
90        slidesPerView: "auto",
91        // slidesPerGroup: 2,
92        initialSlide: 0,
93        centeredSlides: false,
94        loop: false,
95        spaceBetween: 0,
96        effect: "fade",
97        navigation: {
98            prevEl: ".home-item-6 .swiper-prev",
99            nextEl: ".home-item-6 .swiper-next",
100        },
101        pagination: {
102            el: ".home-item-6 .swiper-pagination",
103            clickable: true
104        }
105    });
106    swiperProcessNumber.controller.control = swiperProcess;
107    swiperProcess.controller.control = swiperProcessNumber;
108}
109
110
111function initSwiper(element, customizeOption) {
112    const swiperSlider = document.querySelectorAll(element);
113    if (swiperSlider) {
114        swiperSlider.forEach((item) => {
115            const swiper = item.querySelector(".swiper");
116            const pagi = item.querySelector(".swiper-pagination");
117            const next = item.querySelector(".swiper-next");
118            const prev = item.querySelector(".swiper-prev");
119
120            var slide = new Swiper(swiper, {
121                watchSlidesProgress: true,
122                pagination: {
123                    el: pagi,
124                    clickable: true,
125                },
126                navigation: {
127                    nextEl: next,
128                    prevEl: prev,
129                },
130                fadeEffect: {
131                    crossFade: true,
132                },
133                ...customizeOption,
134            });
135        });
136    }
137}
138
139
140initSwiper(".home-news", {
141    speed: 1200,
142    slidesPerView: "auto",
143    // slidesPerGroup: 2,
144    spaceBetween: 30,
145    initialSlide: 0,
146    centeredSlides: false,
147    loop: false,
148    spaceBetween: 0,
149    effect: "slide",
150});

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.