PageSourceSearch

https://www.neofire.de/js/p/f5bf56d20268a262db05.js

js neofire.de collected 2026-10-07 15:20:37 UTC 2,511 bytes, 67 lines download raw bytes

1(function () {
2    var tries = 0;
3    function run() {
4        try {
5            var raw = localStorage.getItem('neofireFilterLast');
6            if (!raw) {
7                return;
8            }
9            var last = JSON.parse(raw) || {};
10            var groups = document.querySelectorAll('.variant-group');
11            var sig = [];
12            for (var q = 0; q < groups.length; q++) {
13                groups[q].querySelectorAll('.variant-option').forEach(function (t) {
14                    sig.push(
15                        (t.getAttribute('onclick') || t.getAttribute('data-article-uuid') || '').replace(/\s/g, '')
16                    );
17                });
18            }
19            sig = sig.join('|');
20            if (!sig || window.__neofireVarPre === sig) {
21                return;
22            }
23            window.__neofireVarPre = sig;
24            for (var i = 0; i < groups.length; i++) {
25                var g = groups[i];
26                var te = g.querySelector('.property-title');
27                var title = (te ? te.textContent : '').replace(/:\s*$/, '').trim();
28                var texts = last[title];
29                if (!texts) {
30                    continue;
31                }
32                var tabs = g.querySelectorAll('.variant-option'),
33                    active = null,
34                    hit = null;
35                for (var k = 0; k < tabs.length; k++) {
36                    var t = tabs[k];
37                    var txt = t.textContent.trim();
38                    if (t.classList.contains('active')) {
39                        active = t;
40                    }
41                    if (!hit && texts.indexOf(txt) >= 0 && !t.classList.contains('variant-out')) {
42                        hit = t;
43                    }
44                }
45                if (!hit || hit === active) {
46                    continue;
47                }
48                var oc = hit.getAttribute('onclick') || '',
49                    m = oc.match(/loadProduct\(\s*['"]([^'"]+)['"]/);
50                var u = m ? m[1] : hit.getAttribute('data-article-uuid') || '';
51                if (u) {
52                    setTimeout(function () {
53                        window.loadProduct(u, 'replace');
54                    }, 0);
55                    return;
56                }
57            }
58        } catch (e) {}
59    }
60    (function wait() {
61        if (typeof window.loadProduct === 'function') {
62            run();
63        } else if (tries++ < 60) {
64            setTimeout(wait, 100);
65        }
66    })();
67})();

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.