PageSourceSearch

https://www.uscatanzaro.net/forum/ext/puntonet/main/styles/all/theme/main.js

js uscatanzaro.net collected 2026-10-02 14:09:04 UTC 3,140 bytes, 105 lines download raw bytes

1(function() {
2  var onlineUserBackdrop;
3  var closeOnlineUserBtn;
4  var iframesToDelete = [];
5  document.addEventListener('DOMContentLoaded', function() {
6    onlineUserBackdrop =   document.getElementsByClassName('onlineuser_backdrop')[0];
7    closeOnlineUserBtn = document.getElementById('close_onlineuser_modal_trigger');
8
9
10    // set banners
11    document.querySelectorAll('.adsbygoogle').forEach(function(e) {
12      var childIns = e.children[0];
13      if (childIns && childIns.getAttribute('style')) {
14
15      }
16    });
17
18    // Iterate over the banners' qids and delete the corresponding iframe and contaner (if present);
19    setTimeout(function() {
20    iframesToDelete.forEach(function(qid) {
21        let iframe = document.querySelector("iframe[data-google-query-id='" + qid + "']");
22        if (iframe) {
23          const parent = iframe.parentNode.parentElement.closest('.ads-banner-container');
24          console.debug("deleting parent", parent);
25          if (parent) parent.remove();
26          console.debug("deleting iframe", iframe);
27          if (iframe) iframe.remove();
28        }
29
30      });
31    }, 1000); // the timeout brutal: but it is useful if some iframe gets loaded after sometime.
32
33
34    if (closeOnlineUserBtn) {
35      closeOnlineUserBtn.addEventListener('click', function (e) {
36        e.stopPropagation();
37        toggleModal(false);
38      })
39    }
40
41
42    if (onlineUserBackdrop) {
43      onlineUserBackdrop.addEventListener('click', function () {
44        toggleModal(false);
45      })
46
47    }
48
49    let otherOnlineTrigger = document.getElementById('show_other_onlineusers_trigger');
50    if (otherOnlineTrigger) {
51      otherOnlineTrigger.addEventListener('click', function() {
52        toggleModal(true);
53
54      })
55    }
56
57  })
58
59  function toggleModal(open) {
60    onlineUserBackdrop.style.display = open ? 'block' : 'none';
61  }
62
63  /**
64   * Listen to every "resize-me" message sent by google ads in order to catch failed/empty banners.
65   * The empty banners' qid will be pushed into an array that will be iterated once the document has been loaded (see above).
66   */
67  window.addEventListener('message', function (event) {
68    try {
69      let msg = JSON.parse(event.data);
70      if (msg.msg_type === 'resize-me') {
71        let shouldCollapseAd = false;
72        let qid;
73        for (let index in msg.key_value) {
74          let key = msg.key_value[index].key;
75          let value = msg.key_value[index].value;
76
77          if (key == 'r_nh' && value == '0') {
78            shouldCollapseAd = true;
79          }
80          if (key == 'qid') {
81            qid = value;
82          }
83        }
84
85        if (shouldCollapseAd) {
86          iframesToDelete.push(qid);
87          let iframe = document.querySelector("iframe[data-google-query-id='" + qid + "']");
88          if (iframe) {
89            const parent = iframe.parentNode.parentElement.closest('.ads-banner-container');
90            console.debug("deleting parent", parent);
91            if (parent) parent.remove();
92            console.debug("deleting iframe", iframe);
93            if (iframe) iframe.remove();
94
95          }
96
97        }
98
99      }
100    } catch (e) {
101
102    }
103  });
104})();
105

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.