PageSourceSearch

https://www.ammersbek.de/wp-content/themes/cv-bootscore-child/asse…/readSpeaker_docReader.js?ver=202603091826

js ammersbek.de collected 2026-10-02 21:33:34 UTC 1,957 bytes, 47 lines download raw bytes

1window.onload = (event) => {
2
3    document.querySelectorAll('body script').forEach((script) => {
4        script.classList.add('rs_skip_always');
5    });
6
7    let elements = document.querySelectorAll('a:not(.wpfd-container .file_download_tbl a):not(.no-docreader)');
8
9    let elementsToAppend = [];
10    let supportedDocumentTypes = ['.odp', '.ods', '.odt', '.epub', '.xls', '.xlsx', '.pps', '.ppt', '.pptx', '.doc', '.docx', '.pdf', '.rtf'];
11    for (let element of elements) {
12
13        // check if path endswith pdf
14        let isDocument = endsWithAny(supportedDocumentTypes, element.href);
15        if (isDocument && element.innerHTML) {
16            elementsToAppend.push(element);
17        }
18    }
19
20    for (let element of elementsToAppend) {
21        let anchor = document.createElement('a');
22        let string = "https://docreader-eu.readspeaker.com/docreader/?cid=13950&lang=de_de&url=" + encodeURIComponent(element.href);
23        anchor.target = '_blank';
24        anchor.href = string;
25        anchor.rel = 'nofollow';
26        anchor.onclick = "window.open(this.href, 'dcrwin'); return false;";
27        anchor.title = 'Dieses Dokument mit ReadSpeaker docReader öffnen';
28        anchor.style.marginLeft = '0.6rem';
29        anchor.classList.add('docreader-button', 'pe-auto', 'text-nowrap', 'text-black');
30        anchor.innerHTML = '<img src="/wp-content/themes/cv-bootscore-child/assets/img/icon/readspeaker.svg" alt="ReadSpeaker"><span>Vorlesen</span>';
31        element.after(anchor);
32    }
33
34    document.addEventListener('show.bs.offcanvas', function(event) {
35        document.body.classList.add('offcanvas-visible');
36    });
37
38    document.addEventListener('hide.bs.offcanvas', function(event) {
39        document.body.classList.remove('offcanvas-visible');
40    });
41}
42
43function endsWithAny(suffixes, string) {
44    return suffixes.some(function (suffix) {
45        return string.endsWith(suffix);
46    });
47}

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.