PageSourceSearch

https://luxe.net/wp-content/themes/Luxe/js/campaign.js?ver=1

js luxe.net collected 2026-10-02 11:47:20 UTC 2,251 bytes, 66 lines download raw bytes

1(function ($) {
2  $(document).ready(function() {
3
4    trackElementsOnDisplay(document.querySelectorAll('[data-track-ga-display-site-wrap]'), true);
5    trackElementsOnDisplay(document.querySelectorAll('[data-track-ga-display-inside-main]'), false);
6
7    function trackElementsOnDisplay(elements, areSiteWrapElements) {
8      // if there are no block to track, stop the function
9      if (elements.length === 0) {
10        return;
11      }
12
13      // l'habillage est visible que sur desktop à partir d'une certaine taille d'écran
14      if (areSiteWrapElements) {
15        $(window).resize(function() {
16          for (let i = 0; i < elements.length; i++) {
17            const element = elements[i];
18
19            // À partir de 1260px de largeur d'écran, l'habillage est visible (on compte un affichage).
20            if ($(window).width() >= 1260) {
21              triggerGaDisplayEvent(element, 'trackGaDisplaySiteWrap');
22            }
23          }
24        });
25
26        return;
27      }
28
29      // Les éléments qui sont dans le contenu du site (main) sont visibles quand l'élément est affiché sur tout l'écran
30      // --> Attention si l'élément est plus grand que l'écran, cette fonction ne fonctionne pas !
31      $(document).scroll(function() {
32        for (let i = 0; i < elements.length; i++) {
33          const element = elements[i];
34
35          // on display element
36          if ($(element).css('display') !== 'none' && onScreen(element) === true) {
37            triggerGaDisplayEvent(element, 'trackGaDisplayInsideMain');
38          }
39        }
40      });
41    }
42
43    function triggerGaDisplayEvent(element, dataset) {
44      const isDisplayed = element.dataset.displayed ? JSON.parse(element.dataset.displayed) : false;
45
46      if (isDisplayed === false) {
47        // trigger dataset function with eval
48        eval(element.dataset[dataset]);
49
50        element.dataset.displayed = JSON.stringify(true);
51      }
52    }
53
54    function onScreen(elm) {
55      const rect = elm.getBoundingClientRect();
56      const viewHeight = $(window).height();
57
58      const topVisible = rect.top < viewHeight && rect.top > 0;
59      const bottomVisible = rect.bottom < viewHeight && rect.bottom > 0;
60
61      return topVisible && bottomVisible;
62    }
63
64  });
65}( jQuery ));
66

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.