PageSourceSearch

https://xhamster-art.com/partials/exo-cls-fix.js?v=20260802-1

js xhamster-art.com collected 2026-10-07 08:22:32 UTC 1,985 bytes, 42 lines download raw bytes

1(function () {
2  'use strict';
3  if (window.__pvExoClsFix) return;
4  window.__pvExoClsFix = true;
5  var linkSelector = 'a.exo_link,a[id$="_network_link"]';
6  var sliderSelector = '[id$="-exo-video-slider-content"]';
7  var stableClass = 'pv-cls-stable';
8  function labelLink(a) {
9    if (!a || !a.matches || !a.matches(linkSelector)) return;
10    if (!(a.textContent || '').replace(/\s+/g, '')) {
11      if (!a.getAttribute('aria-label')) a.setAttribute('aria-label', 'Advertisement');
12      if (!a.getAttribute('title')) a.setAttribute('title', 'Advertisement');
13    }
14  }
15  function watchSlider(el) {
16    if (!el || !el.matches || !el.matches(sliderSelector) || el.getAttribute('data-pv-exo-watch') === '1') return;
17    el.setAttribute('data-pv-exo-watch', '1');
18    var timer = 0;
19    function settle() {
20      el.classList.remove(stableClass);
21      clearTimeout(timer);
22      timer = setTimeout(function () { if (el.style.display !== 'none') el.classList.add(stableClass); }, 200);
23    }
24    settle();
25    if ('MutationObserver' in window) new MutationObserver(settle).observe(el, {attributes:true,attributeFilter:['style']});
26  }
27  function scan(root) {
28    root = root && root.nodeType === 1 ? root : document;
29    if (root.matches) { labelLink(root); watchSlider(root); }
30    var links = root.querySelectorAll ? root.querySelectorAll(linkSelector) : [];
31    var sliders = root.querySelectorAll ? root.querySelectorAll(sliderSelector) : [];
32    for (var i=0;i<links.length;i++) labelLink(links[i]);
33    for (var j=0;j<sliders.length;j++) watchSlider(sliders[j]);
34  }
35  function start() {
36    scan(document);
37    if ('MutationObserver' in window) new MutationObserver(function (ms) {
38      for (var i=0;i<ms.length;i++) for (var j=0;j<ms[i].addedNodes.length;j++) scan(ms[i].addedNodes[j]);
39    }).observe(document.documentElement,{childList:true,subtree:true});
40  }
41  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();
42}());

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.