I am new to JS so any help would be appreciated. I have created an XML request upon the page loading a video to check for cookies, and then replace a div element "tmx" with an external HTML file from my website. However the page keeps on reloading after fetching the XML request after injecting it to "#tmx". Another thing that I noticed is when I press accept tnc button on my document without the checkbox being ticked, the whole page is being completely reloaded. I think it might be the return value that might be wrong.
function setCookie(cname, cvalue, exdays) {
if(document.getElementById('agree').checked){
const d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
let expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
function checkCookieOnLoad() {
if(getCookie("clicklink") === "yes") {
var elem = document.getElementById("tmx");
elem.parentNode.removeChild(elem);
// var elem2 = document.getElementById("ooo");
// elem2.parentNode.removeChild(elem2);
var video = document.createElement('video');
video.type = "video/mp4";
video.src = ".//vid1.mp4";
video.autoplay = true;
video.muted = true;
video.id = "vdd1"
document.body.appendChild(video);
video.addEventListener("timeupdate", function(){
// current time is given in seconds
if(this.currentTime >= 4.8) {
// pause the playback
this.pause();
this.remove();
location.replace("https://www.test.com/index.html");
}
});
return true;
} else {
const xhr = new XMLHttpRequest();
const contianer = document.getElementById('tmx');
xhr.onload = function() {
if (this.status ===200){
contianer.innerHTML = xhr.responseText;
}
}
xhr.open('get', 'tnc.html');
xhr.send();
}
}
setTimeout(function() {
function setCookie(cname, cvalue, exdays) {
if (document.getElementById('agree').checked) {
const d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
let expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
function checkCookieOnLoad() {
if (getCookie("clicklink") === "yes") {
var elem = document.getElementById("tmx");
elem.parentNode.removeChild(elem);
// var elem2 = document.getElementById("ooo");
// elem2.parentNode.removeChild(elem2);
var video = document.createElement('video');
video.type = "video/mp4";
video.src = ".//vid1.mp4";
video.autoplay = true;
video.muted = true;
video.id = "vdd1"
document.body.appendChild(video);
video.addEventListener("timeupdate", function() {
// current time is given in seconds
if (this.currentTime >= 4.8) {
// pause the playback
this.pause();
this.remove();
location.replace("https://www.test.com/index.html");
}
});
return true;
} else {
const xhr = new XMLHttpRequest();
const contianer = document.getElementById('tmx');
xhr.onload = function() {
if (this.status === 200) {
contianer.innerHTML = xhr.responseText;
}
}
xhr.open('get', 'tnc.html');
xhr.send();
}
}
}, 5000);
/*This code will run after 5 seconds after the loading of HTML CSS and your JS files. Try it. Hope it helps you!!*/