PageSourceSearch

https://changelly.com/blog/wp-content/themes/changelly_besyat/asse…/js/subscription-popup.js

js changelly.com collected 2026-10-01 10:16:42 UTC 2,538 bytes, 70 lines download raw bytes

1window.addEventListener('load', function () {
2    if (sessionStorage.getItem('headerSubscribeFormClosed') === 'true' || sessionStorage.getItem('headerSubscribeFormSubmitted') === 'true') {
3        return;
4    }
5
6    setTimeout(function () {
7        const popupWrapper = document.querySelector('#subscription-popup-wrapper');
8        const popup = document.querySelector('#subscription-popup');
9        if (!popup) {
10            return;
11        }
12
13        if (popupWrapper) {
14            popupWrapper.classList.add('active');
15        }
16        popup.classList.add('active');
17
18        const fieldContainer = popup.querySelector('.wpforms-field-container');
19        const submitContainer = popup.querySelector('.wpforms-submit-container');
20        const hasWrapper = popup.querySelector('.subscription-popup-form-wrapper');
21
22        if (fieldContainer && submitContainer && !hasWrapper && fieldContainer.parentNode) {
23            const wrapper = document.createElement('div');
24            wrapper.className = 'subscription-popup-form-wrapper';
25
26            fieldContainer.parentNode.insertBefore(wrapper, fieldContainer);
27            wrapper.appendChild(fieldContainer);
28            wrapper.appendChild(submitContainer);
29        }
30
31        const closeButton = popup.querySelector('#popup-close');
32        if (closeButton) {
33            closeButton.addEventListener('click', function () {
34                sessionStorage.setItem('headerSubscribeFormClosed', 'true');
35                popup.classList.remove('active');
36                if (popupWrapper) {
37                    popupWrapper.classList.remove('active');
38                }
39            });
40        }
41
42        const overlay = document.querySelector('#subscription-popup-overlay');
43        if (overlay) {
44            overlay.addEventListener('click', function () {
45                sessionStorage.setItem('headerSubscribeFormClosed', 'true');
46                popup.classList.remove('active');
47                if (popupWrapper) {
48                    popupWrapper.classList.remove('active');
49                }
50            });
51        }
52    }, 15000);
53});
54
55document.addEventListener('wpformsAjaxSubmitSuccess', function (event) {
56    const popup = document.querySelector('#subscription-popup');
57    if (!popup) {
58        return;
59    }
60
61    const target = event.target;
62    const isElementTarget = target instanceof Element;
63    if (!isElementTarget) {
64        return;
65    }
66
67    if (popup.contains(target)) {
68        sessionStorage.setItem('headerSubscribeFormSubmitted', 'true');
69    }
70});

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.