PageSourceSearch

https://journees-gsf.fr/wp-content/plugins/code-fixes/assets/js/global.js

js journees-gsf.fr collected 2026-09-29 18:19:46 UTC 3,904 bytes, 115 lines download raw bytes

1jQuery(function ($) {
2  var $links = $(".chapters_links a");
3  if (!$links.length) return;
4
5  // Charger APIs seulement si besoin
6  var needsVimeo = $links.filter('[data-is-vimeo="1"]').length > 0;
7  var needsYT = $links.filter('[data-is-vimeo="0"]').length > 0;
8  if (needsVimeo && !window.Vimeo) {
9    $.getScript("https://player.vimeo.com/api/player.js");
10  }
11  if (needsYT && !window.YT) {
12    $.getScript("https://www.youtube.com/iframe_api");
13  }
14
15  $links.on("click", function (e) {
16    e.preventDefault();
17    var $link = $(this);
18    var $parent = $link.closest(".chapters_links");
19    var target = $parent.data("target");
20    var isVimeo = $parent.data("is-vimeo") == 1;
21    var start = parseInt($parent.data("start"), 10);
22    var embedUrl = $link.data("embedurl");
23    var $iframe = $(target).find("iframe");
24    if (!$iframe.length) return;
25    var iframe = $iframe[0];
26
27    // Cas où la source change (switch plateforme ou vidéo)
28    if (iframe.src.replace(/#.*$/, "") !== embedUrl.replace(/#.*$/, "")) {
29      iframe.onload = function () {
30        if (isVimeo && window.Vimeo) {
31          var player = new Vimeo.Player(iframe);
32          player.setCurrentTime(start).catch(console.error);
33        }
34        if (!isVimeo && window.YT) {
35          iframe.contentWindow.postMessage(
36            JSON.stringify({
37              event: "command",
38              func: "seekTo",
39              args: [start, true],
40            }),
41            "*"
42          );
43          iframe.contentWindow.postMessage(
44            JSON.stringify({
45              event: "command",
46              func: "playVideo",
47            }),
48            "*"
49          );
50        }
51        iframe.onload = null;
52      };
53      iframe.src = embedUrl;
54    } else {
55      // Cas où la source ne change pas, juste avancer la tête de lecture
56      if (isVimeo && window.Vimeo) {
57        var player = new Vimeo.Player(iframe);
58        player
59          .setCurrentTime(start)
60          .then(function () {
61            player.play();
62          })
63          .catch(console.error);
64      }
65      if (!isVimeo && window.YT) {
66        iframe.contentWindow.postMessage(
67          JSON.stringify({
68            event: "command",
69            func: "seekTo",
70            args: [start, true],
71          }),
72          "*"
73        );
74        iframe.contentWindow.postMessage(
75          JSON.stringify({
76            event: "command",
77            func: "playVideo",
78          }),
79          "*"
80        );
81      }
82    }
83  });
84});
85
86// Sélectionne toutes les balises ayant la classe fa-twitter
87var twitter = document.querySelectorAll(".fa-twitter");
88// Boucle de parcours
89for (var i = 0; i < twitter.length; i++) {
90  // Retire la classe fa-twitter de l'élément html
91  twitter[i].classList.remove("fa-twitter");
92  // Ajoute la classe fa-x-twitter à l'élément html
93  twitter[i].classList.add("fa-x-twitter");
94}
95
96// Sélectionne toutes les balises ayant la classe fa-square-twitter
97var squareTwitter = document.querySelectorAll(".fa-square-twitter");
98// Boucle de parcours
99for (var i = 0; i < squareTwitter.length; i++) {
100  // Retire la classe fa-square-twitter de l'élément html
101  squareTwitter[i].classList.remove("fa-square-twitter");
102  // Ajoute la classe fa-square-x-twitter à l'élément html
103  squareTwitter[i].classList.add("fa-square-x-twitter");
104}
105
106// Sélectionne toutes les balises ayant la classe et-icon-twitter
107var etIconTwitter = document.querySelectorAll(".et-icon-twitter");
108// Boucle de parcours
109for (var i = 0; i < etIconTwitter.length; i++) {
110  // Retire le classe et-icon-twitter de l'élément html
111  etIconTwitter[i].classList.remove("et-icon-twitter");
112  // Ajoute les classes fa-brands et fa-x-twitter
113  etIconTwitter[i].classList.add("fa-brands");
114  etIconTwitter[i].classList.add("fa-x-twitter");
115}

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.