1/*! Created by: Udo Schmal | https://www.gocher.me/ */ 2(function() { 3 'use strict'; 4 function Audio(el) { 5 // show placeholder cookiebot preferences message 6 if (typeof(Cookiebot) !== 'undefined') { 7 let externalWrapper = document.createElement('div'); 8 externalWrapper.className = 'cookiebotWrapper'; 9 let external = document.createElement('div'); 10 external.className = 'cookiebot'; 11 externalWrapper.appendChild(external); 12 external.appendChild(document.createTextNode('Bitte ')); 13 let language = document.documentElement.lang || 'en'; 14 let txt; 15 switch (language.substr(0,2)) { 16 case 'de': txt = 'Bitte akzeptiere die Präferenzen-Cookies, um diesen Podcast anhören zu können.'; break; 17 case 'fr': txt = 'Veuillez accepter les préférences-cookies pour regarder cette podcast.'; break; 18 case 'it': txt = 'Si prega di accettare i cookie delle preferenze per guardare questo podcast.'; break; 19 default: txt = 'Please accept preferences-cookies to watch this podcast.'; break; 20 } 21 external.appendChild(document.createTextNode(txt)); 22 externalWrapper.addEventListener('click', function (event) { 23 CookieConsent.renew(); 24 event.stopPropagation(); 25 }); 26 el.parentNode.appendChild(externalWrapper); 27 if (!Cookiebot.consent.preferences) { 28 console.log('cookiebot: preferences not accepted'); 29 external.style.display = 'block'; 30 window.addEventListener('CookiebotOnAccept', function (e) { 31 if (Cookiebot.consent.preferences) { 32 console.log('cookiebot: preferences accepted'); 33 location.href = location.href; 34 externalWrapper.style.display = 'none'; 35 } else{ 36 console.log('cookiebot: preferences not accepted'); 37 externalWrapper.style.display = 'block'; 38 } 39 }); 40 } else { 41 console.log('cookiebot: preferences accepted'); 42 externalWrapper.style.display = 'none'; 43 } 44 } else { 45 let external = document.createElement('div'); 46 external.className = 'external'; 47 let language = document.documentElement.lang || 'en'; 48 let txt; 49 switch (language.substr(0,2)) { 50 case 'de': txt = 'Lädt externe Inhalte von '; break; 51 case 'fr': txt = 'Charger du contenu externe à partir de '; break; 52 case 'it': txt = 'Carica contenuti esterni da '; break; 53 case 'es': txt = 'Cargar contenido externo de '; break; 54 default: txt = 'Load external Content from '; break; 55 } 56 txt = txt + el.dataset.host; 57 external.appendChild(document.createTextNode(txt)); 58 let externalWrapper = null; 59 if (individualContent) { 60 externalWrapper = document.createElement('div'); 61 externalWrapper.className = 'cookiebotWrapper'; 62 externalWrapper.appendChild(external); 63 el.appendChild(externalWrapper); 64 } else { 65 el.appendChild(external); 66 } 67 } 68 } 69 70 let media = document.querySelectorAll('audio'); 71 if (media.length > 0) { 72 let host = window.location.host; 73 for (let i = 0; i < media.length; i++) { 74 let source = media[i].querySelector('source'); 75 let src = source.getAttribute('src'); 76 let hit = /https?:\/\/(www\.)?([^\/]*)/i.exec(src); 77 if (hit && hit[2]) { 78 if (host != hit[1] + hit[2]) { 79 console.log('use audio.js: ' + src); 80 media[i].dataset.host = hit[2]; 81 new Audio(media[i]); 82 } 83 } 84 } 85 } 86})();
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.