var parentNode = document.currentScript.parentNode; var dataAttributes = parentNode.dataset; var data = {}; data.id = dataAttributes.id; data.zone = dataAttributes.zone; if(data.zone != '') { var url = 'https://www.krankenkasseninfo.net/getZoneAd.php'; } else { var url = 'https://www.krankenkasseninfo.net/getDynamicAd.php'; } var test = adAjax(url, data, parentNode); function adAjax(url, data, parentNode) { var h = new XMLHttpRequest(); h.onreadystatechange = function () { if (4 === this.readyState) { if (200 === this.status) { //console.log(this.response); if(this.response != '') { addToDiv(JSON.parse(this.response), parentNode); } } } }; h.open("GET", url + "?cid=" + data.id +"&zone=" + data.zone, true); h.withCredentials = false; h.send() } function addToDiv(response, parentNode) { var newElement = createElement(response); if(response.tag == 'iframe') { parentNode.setAttribute('onclick', "setTimeout(() => window.open('"+ response.url +"', '_blank'), 0);return false;"); } parentNode.appendChild(newElement); } function createElement (res) { if(res.tag == 'iframe') { var e = document.createElement("IFRAME"), g = e.style; e.id = res.id e.scrolling = "no"; e.frameBorder = 0; e.width = res.width > 0 ? res.width : 0; e.height = res.height > 0 ? res.height : 0; e.src = res.src; g.border = 0; g.overflow = "hidden"; g.pointerEvents = "none"; /*e.addEventListener('click', function(){ alert('button clicked!'); }, false);*/ if(res.src != '') { var link = document.createElement("A"); link.href = res.url; link.target = "_blank"; link.rel = "nofollow"; link.appendChild(e); link.style.width = res.width > 0 ? res.width : 0; link.style.height = res.height > 0 ? res.height : 0; link.style.display = "block"; link.style.overflow = "hidden"; return link; } else { return e; } } else if(res.tag == 'img') { var e = document.createElement("IMG"), g = e.style; e.scrolling = "no"; e.frameBorder = 0; e.width = res.width > 0 ? res.width : 0; e.height = res.height > 0 ? res.height : 0; e.src = res.src; g.border = 0; g.overflow = "hidden"; e.alt = "Werbung"; if(res.src != '') { var link = document.createElement("A"); link.href = res.url; link.target = "_blank"; link.rel = "nofollow"; link.appendChild(e); return link; } else { return e; } } else if(res.tag == 'script') { /* var e = document.createElement("div"), g = e.style; e.scrolling = "no"; e.frameBorder = 0; e.width = res.width > 0 ? res.width : 0; e.height = res.height > 0 ? res.height : 0; e.src = res.src; g.border = 0; g.overflow = "hidden"; return e; */ var container = document.createElement("div"); var e = document.createElement("script"), g = e.style; e.crossorigin = "anonymous"; e.src = res.src; e.async = "true"; var script = document.createElement('script'), done = false, head = document.getElementsByTagName("body")[0]; script.src = res.src; script.crossorigin = "anonymous"; script.onload = script.onreadystatechange = function(){ if ( !done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") ) { done = true; console.log('done'); // IE memory leak script.onload = script.onreadystatechange = null; head.removeChild( script ); } }; head.appendChild(script); /* e.addEventListener("load", () => { console.log("File loaded here") }); */ var d = document.createElement("div"); d.innerHTML = res.content; container.appendChild(e); container.appendChild(d); return document.body.appendChild(container); } else if(res.tag == 'video') { var container = document.createElement("div"); var e = document.createElement("script"), g = e.style; e.src = res.src e.async = true e.addEventListener("load", () => { //console.log("File loaded") }); var d = document.createElement("div"); d.innerHTML = res.content; container.appendChild(e); container.appendChild(d); if(res.src != '') { var link = document.createElement("A"); link.href = res.url; link.target = "_blank"; link.rel = "nofollow"; link.appendChild(container); link.style.width = res.width > 0 ? res.width : 0; link.style.height = res.height > 0 ? res.height : 0; link.style.display = "block"; link.style.overflow = "hidden"; return link; } else { return e; } return document.body.appendChild(container); } else { console.log('test'); } }