PageSourceSearch

https://www.hashtagtreinamentos.com/wp-content/themes/hashtag/dese…/js/infinite-scroller.js?ver=1777583599

js hashtagtreinamentos.com collected 2026-10-03 19:19:49 UTC 1,999 bytes, 80 lines download raw bytes

1(function () {
2  const initializedAttr = "data-infinite-scroller-initialized";
3
4  function duplicateScrollerItems(scroller) {
5    if (!scroller || scroller.hasAttribute(initializedAttr)) {
6      return;
7    }
8
9    const innerScroller = scroller.querySelector(":scope > *");
10
11    if (!innerScroller) {
12      return;
13    }
14
15    const items = Array.from(innerScroller.children);
16
17    if (!items.length) {
18      return;
19    }
20
21    const duplicationRounds = window.matchMedia("(min-width: 1921px)").matches
22      ? 2
23      : 1;
24
25    for (let round = 0; round < duplicationRounds; round += 1) {
26      items.forEach((item) => {
27        const duplicate = item.cloneNode(true);
28        duplicate.setAttribute("aria-hidden", "true");
29        disableFocusableItems(duplicate);
30        innerScroller.appendChild(duplicate);
31      });
32    }
33
34    scroller.setAttribute(initializedAttr, "true");
35  }
36
37  function disableFocusableItems(root) {
38    const focusableSelector = [
39      "a[href]",
40      "button",
41      "input",
42      "select",
43      "textarea",
44      "summary",
45      "iframe",
46      "audio[controls]",
47      "video[controls]",
48      "[contenteditable]",
49      "[tabindex]",
50    ].join(",");
51
52    if (root.matches?.(focusableSelector)) {
53      root.setAttribute("tabindex", "-1");
54    }
55
56    root.querySelectorAll?.(focusableSelector).forEach((element) => {
57      element.setAttribute("tabindex", "-1");
58    });
59  }
60
61  function initAllScrollers() {
62    document.querySelectorAll(".infinite-scroller").forEach(duplicateScrollerItems);
63  }
64
65  window.inicializarInfiniteScroller = duplicateScrollerItems;
66
67  document.addEventListener("infiniteScroller:contentReady", (event) => {
68    duplicateScrollerItems(event.detail?.scroller);
69  });
70
71  document.addEventListener("cursosScroller:itensAdicionados", initAllScrollers);
72
73  if (document.readyState === "loading") {
74    document.addEventListener("DOMContentLoaded", initAllScrollers, {
75      once: true,
76    });
77  } else {
78    initAllScrollers();
79  }
80})();

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.