PageSourceSearch

https://webcir.org/js/appEmc.js?v=DQ8BRzC4TEFmvsMzNw-s85JUPWWvK4XbicR6mMk0FcI

js webcir.org collected 2026-10-02 12:18:51 UTC 1,819 bytes, 58 lines download raw bytes

1(function () {
2  "use strict";
3
4  document.addEventListener("DOMContentLoaded", function () {
5    var modal = document.querySelector(".app-emc__modal");
6    if (!modal) {
7      return;
8    }
9
10    var iframe = modal.querySelector(".app-emc__modal-iframe");
11    var triggers = document.querySelectorAll(".app-emc__media[data-video-src]");
12    var closeControls = modal.querySelectorAll("[data-app-emc-close]");
13    var lastFocused = null;
14
15    function openModal(src, title) {
16      lastFocused = document.activeElement;
17      iframe.src = src + (src.indexOf("?") > -1 ? "&" : "?") + "autoplay=1";
18      iframe.title = title || "";
19      modal.classList.add("app-emc__modal--open");
20      modal.setAttribute("aria-hidden", "false");
21      document.body.style.overflow = "hidden";
22      var closeBtn = modal.querySelector(".app-emc__modal-close");
23      if (closeBtn) {
24        closeBtn.focus();
25      }
26    }
27
28    function closeModal() {
29      modal.classList.remove("app-emc__modal--open");
30      modal.setAttribute("aria-hidden", "true");
31      document.body.style.overflow = "";
32      iframe.src = "";
33      if (lastFocused && typeof lastFocused.focus === "function") {
34        lastFocused.focus();
35      }
36    }
37
38    triggers.forEach(function (trigger) {
39      trigger.addEventListener("click", function () {
40        var src = trigger.getAttribute("data-video-src");
41        var title = trigger.getAttribute("data-video-title");
42        if (src) {
43          openModal(src, title);
44        }
45      });
46    });
47
48    closeControls.forEach(function (control) {
49      control.addEventListener("click", closeModal);
50    });
51
52    document.addEventListener("keydown", function (event) {
53      if (event.key === "Escape" && modal.classList.contains("app-emc__modal--open")) {
54        closeModal();
55      }
56    });
57  });
58})();

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.