PageSourceSearch

https://mustangnews.info/wp-content/plugins/generateperf/js/progress-bar.js?ver=3.1.4

js mustangnews.info collected 2026-10-05 22:13:41 UTC 1,442 bytes, 30 lines download raw bytes

1// Barre de progression de lecture (option GeneratePerf).
2// Navigateurs qui gèrent les animations liées au défilement : la barre suit le défilement en CSS (animation-timeline:
3// scroll(), styles injectés avec sa couleur), sur le fil du compositeur, sans JavaScript à chaque image ; elle reste
4// synchrone pendant un défilement au doigt. Ailleurs : mise à jour au défilement seulement (écouteur passif, une fois
5// par image au plus), mesures relues à chaque fois (la page s'allonge au chargement des images, la hauteur visible
6// change avec la barre d'adresse mobile), transformation plutôt que largeur (pas de recalcul de mise en page).
7(function () {
8  const bar = document.createElement('div');
9  bar.className = 'progress-bar';
10  document.body.appendChild(bar);
11  if (window.CSS && CSS.supports && CSS.supports('animation-timeline: scroll()')) {
12    return;
13  }
14  let pending = false;
15  const update = function () {
16    pending = false;
17    const max = document.documentElement.scrollHeight - window.innerHeight;
18    const ratio = max > 0 ? Math.min(1, Math.max(0, window.scrollY / max)) : 0;
19    bar.style.transform = 'scaleX(' + ratio + ')';
20  };
21  const schedule = function () {
22    if (!pending) {
23      pending = true;
24      requestAnimationFrame(update);
25    }
26  };
27  window.addEventListener('scroll', schedule, { passive: true });
28  window.addEventListener('resize', schedule, { passive: true });
29  update();
30})();

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.