PageSourceSearch

https://chemienetzwerk.de/typo3temp/assets/js/c01c8eb1024cdb1dffde568b4b33e7bd.js?1692876716

js chemienetzwerk.de collected 2026-10-04 13:26:38 UTC 3,620 bytes, 114 lines download raw bytes

1(function() {
2  /**
3   * @param {Function} callback
4   */
5  function ready(callback) {
6    if (document.readyState === 'complete') {
7      callback.call(null);
8      return;
9    }
10    var clearListeners = function() {
11      window.removeEventListener('load', delegate);
12      document.removeEventListener('DOMContentLoaded', delegate);
13    };
14    var delegate = function() {
15      clearListeners();
16      callback.call(null);
17    };
18    window.addEventListener('load', delegate);
19    document.addEventListener('DOMContentLoaded', delegate);
20  }
21  /**
22   * Decoding helper function
23   *
24   * @param {number} charCode
25   * @param {number} start
26   * @param {number} end
27   * @param {number} offset
28   * @return {string}
29   */
30  function decryptCharcode(charCode, start, end, offset) {
31    charCode = charCode + offset;
32    if (offset > 0 && charCode > end) {
33      charCode = start + (charCode - end - 1);
34    } else if (offset < 0 && charCode < start) {
35      charCode = end - (start - charCode - 1);
36    }
37    return String.fromCharCode(charCode);
38  }
39  /**
40   * Decodes string
41   *
42   * @param {string} value
43   * @param {number} offset
44   * @return {string}
45   */
46  function decryptString(value, offset) {
47    var result = '';
48    for (var i=0; i < value.length; i++) {
49      var charCode = value.charCodeAt(i);
50      if (charCode >= 0x2B && charCode <= 0x3A) {
51        result += decryptCharcode(charCode,0x2B,0x3A,offset);	/* 0-9 . , - + / : */
52      } else if (charCode >
52= 0x40 && charCode <= 0x5A) {
53        result += decryptCharcode(charCode,0x40,0x5A,offset);	/* A-Z @ */
54      } else if (charCode >= 0x61 && charCode <= 0x7A) {
55        result += decryptCharcode(charCode,0x61,0x7A,offset);	/* a-z */
56      } else {
57        result += value.charAt(i);
58      }
59    }
60    return result;
61  }
62
63  /**
64   * Opens URL in new window.
65   *
66   * @param {string} url
67   * @param {string|null} target
68   * @param {string|null} features
69   * @return {Window}
70   */
71  function windowOpen(url, target, features) {
72    var windowRef = window.open(url, target, features);
73    if (windowRef) {
74      windowRef.focus();
75    }
76    return windowRef;
77  }
78
79  // @deprecated Will be removed in TYPO3 v12.0
80  if (typeof window['linkTo_UnCryptMailto'] === 'undefined') {
81    window['linkTo_UnCryptMailto'] = function(value, offset) {
82      console.warn('Function linkTo_UnCryptMailto() is deprecated and will be remove in TYPO3 v12.0');
83      if (value && offset) {
84        document.location.href = decryptString(value, offset);
85      }
86    };
87  }
88
89  ready(function() {
90    var mailtoElements = document.querySelectorAll('a[data-mailto-token][data-mailto-vector]');
91    // `Array.from` for IE compatibility
92    Array.from(mailtoElements).forEach(function(element) {
93        element.addEventListener('click', function(evt) {
94          evt.preventDefault();
95          var dataset = evt.currentTarget.dataset;
96          var value = dataset.mailtoToken;
97          var offset = parseInt(dataset.mailtoVector, 10) * -1;
98          document.location.href = decryptString(value, offset);
99        });
100      });
101    var openElements = document.querySelectorAll('a[data-window-url]');
102    // `Array.from` for IE compatibility
103    Array.from(openElements).forEach(function(element) {
104        element.addEventListener('click', function(evt) {
105          evt.preventDefault();
106          var dataset = evt.currentTarget.dataset;
107          var url = dataset.windowUrl;
108          var target = dataset.windowTarget || null;
109          var features = dataset.windowFeatures || null;
110          windowOpen(url, target, features);
111        });
112      });
113  });
114})();

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.