PageSourceSearch

https://gdekomfort.ru/modules/emailsubscribe/view/js/rscomponent/emailsubscribe.js

js gdekomfort.ru collected 2026-10-05 02:26:20 UTC 1,532 bytes, 48 lines download raw bytes

1/**
2 * Компонент инициализирует форму подписки на новости
3 */
4new class EmailSubscribe extends RsJsCore.classes.component
5{
6    executeScript(HTML) {
7        var head = document.getElementsByTagName("head")[0];
8        var scr;
9
10        var tmp = document.createElement('div');
11        tmp.innerHTML = HTML;
12        var scrajx = tmp.getElementsByTagName('script');
13
14        for(var i in scrajx) {
15            scr = document.createElement("script");
16            scr.text = scrajx[i].text;
17            head.appendChild(scr);
18            head.removeChild(scr);
19        }
20    }
21
22    initAjaxForm() {
23        this.utils.on('submit', '.rs-mailing', (event) => {
24            event.preventDefault();
25            let form = event.rsTarget;
26            let mailingBlock = event.rsTarget.closest('.rs-mailing-block');
27
28            let formData = new FormData(event.target);
29            this.utils.fetchJSON(form.action, {
30                method:'POST',
31                body:formData
32            }).then((response) => {
33                if (response.html) {
34                    let parent = mailingBlock.parentNode;
35                    mailingBlock.insertAdjacentHTML("afterend", response.html);
36                    mailingBlock.remove();
37                    this.executeScript(response.html);
38                    parent.dispatchEvent(new CustomEvent('new-content', {bubbles: true}));
39                }
40            });
41
42        });
43    }
44
45    onDocumentReady() {
46        this.initAjaxForm();
47    }
48};

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.