Reputation: 25
I am attempting to verify the referral URL and whether or not a cookie contains a certain string and then perform an action, however right now - my IF statement is always TRUE.
When I remove the ref1 section, and only keep getcookie, I believe the statement is false; although then my else if does not work
Nevertheless, I believe the construction of this If statement is missing something.
if (ref1.indexOf('ccov') || ref1.indexOf('top10') || ref1.indexOf('cenf') || ref1.indexOf('aip')||
ref1.indexOf('constructioncoverage')||
ref1.indexOf('aginginplace')|| ref1.indexOf('seniorliving')|| ref1.indexOf('seniorlist') ||
((getcookie('track-page-1').indexOf('ccov')>-1) > -1) ||
((getcookie('track-page-1').indexOf('top10')>-1) > -1) ||
((getcookie('track-page-1').indexOf('cenf')>-1) > -1) ||
((getcookie('track-page-1').indexOf('aip')>-1) > -1)) {
Complete Code if Interested:
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
var userLang = navigator.language || navigator.userLanguage;
s1.async=true;
var country = ('; '+document.cookie).split('; country=').pop().split(';')[0];
var ref1 = document.referrer;
// if (['BS'].indexOf(country) > -1){
// s1.src='https://embed.tawk.to/61488c2325797d7a89ffe3dc/1fg1m6qod';
// }
// else if (country == 'MX') {
// s1.src='https://embed.tawk.to/6148c99f25797d7a89ffef5b/1fg2576ci';
// }
if (ref1.indexOf('ccov') || ref1.indexOf('top10') || ref1.indexOf('cenf') || ref1.indexOf('aip') || ref1.indexOf('constructioncoverage') || ref1.indexOf('aginginplace') || ref1.indexOf('seniorliving') || ref1.indexOf('seniorlist') || ((getcookie('track-page-1').indexOf('ccov')>-1) > -1) || ((getcookie('track-page-1').indexOf('top10')>-1) > -1) || ((getcookie('track-page-1').indexOf('cenf')>-1) > -1) || ((getcookie('track-page-1').indexOf('aip')>-1) > -1)) {
s1.src='https://embed.tawk.to/620675459bd1f31184dc28c0/1frkjk5mj';
}
else if (userLang.match(/^es/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1f5dpa29q';
}
else if (userLang.match(/^pt/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1f63jmv3f';
}
else if (userLang.match(/^fr/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1fa3s0cbv';
}
else if (userLang.match(/^ru/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1fa3rv0no';
}
else if (userLang.match(/^lv/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1fa3tcrog';
}
else if (userLang.match(/^et/)) {
s1.src='https://embed.tawk.to/609a845c185beb22b30c3bf3/1fa3tv7ll';
}
else if (userLang.match(/^lt/)) {
s1.src='https://embed.tawk.to/60e765f7649e0a0a5ccb3f41/1fa3uck2u';
}
else if (userLang.match(/^sv/)) {
s1.src='https://embed.tawk.to/60e765f7649e0a0a5ccb3f41/1fa5mfs8d';
}
else if (userLang.match(/^de/)) {
s1.src='https://embed.tawk.to/60e765f7649e0a0a5ccb3f41/1fa5muuvn';
}
else if (userLang.match(/^no/)) {
s1.src='https://embed.tawk.to/60e765f7649e0a0a5ccb3f41/1fa5ncduf';
}
else if (userLang.match(/^fi/)) {
s1.src='https://embed.tawk.to/60e765f7649e0a0a5ccb3f41/1fa5nudj7';
}
else if (userLang.match(/^nl/)) {
s1.src='https://embed.tawk.to/60e8531a649e0a0a5ccb61ee/1fa5o97t4';
}
else if (userLang.match(/^da/)) {
s1.src='https://embed.tawk.to/60e8531a649e0a0a5ccb61ee/1fa5orip4';
}
else if (userLang.match(/^el/)) {
s1.src='https://embed.tawk.to/60e8531a649e0a0a5ccb61ee/1fa5pkm1k';
}
else if (userLang.match(/^it/)) {
s1.src='https://embed.tawk.to/60e8531a649e0a0a5ccb61ee/1fa5q4uh2';
}
else if (userLang.match(/^pl/)) {
s1.src='https://embed.tawk.to/60e8531a649e0a0a5ccb61ee/1fa5qj4r7';
}
else if (userLang.match(/^cs/)) {
s1.src='https://embed.tawk.to/60e85defd6e7610a49aa78ec/1fa5qtrst';
}
else if (userLang.match(/^ro/)) {
s1.src='https://embed.tawk.to/60e85defd6e7610a49aa78ec/1fa5rl5gg';
}
else if (userLang.match(/^be/)) {
s1.src='https://embed.tawk.to/60e85defd6e7610a49aa78ec/1fa5rvbod';
}
else if (userLang.match(/^uk/)) {
s1.src='https://embed.tawk.to/60e85defd6e7610a49aa78ec/1fa5sgafc';
}
else if (userLang.match(/^hu/)) {
s1.src='https://embed.tawk.to/60e85defd6e7610a49aa78ec/1fa5t38bi';
}
else if (userLang.match(/^hr/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa5to1mj';
}
else if (userLang.match(/^sr/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa5u9emd';
}
else if (userLang.match(/^ka/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa5uus6k';
}
else if (userLang.match(/^sk/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa5vdsc3';
}
else if (userLang.match(/^tr/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa60012u';
}
else if (userLang.match(/^ar/)) {
s1.src='https://embed.tawk.to/60e8697ad6e7610a49aa7abc/1fa60cgb7';
}
else {
s1.src='https://embed.tawk.to/60a7b623b1d5182476bb3457/1f67huun6';
}
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
Upvotes: 0
Views: 118
Reputation: 317
It's tricky to debug this code as a sample of the value of ref1 is not provided. However, I can give some advice on where to go with this.
The indexOf
method returns either the index of the substring/element provided, or -1
if not present. Be aware that Boolean(-1)
returns true
.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
document.referrer
is a string, so you should probably make use of the includes
method on string. This properly yields true
when the substring is present, and false
when it is not.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
Try replacing the indexOf
methods on ref1
with includes
like so:
if (ref1.includes('ccov') || ref1.includes('top10') || ref1.includes('cenf') || ref1.includes('aip') ||
ref1.includes('constructioncoverage') ||
ref1.includes('aginginplace') || ref1.includes('seniorliving') || ref1.includes('seniorlist') ||
((getcookie('track-page-1').indexOf('ccov') > -1) > -1) ||
((getcookie('track-page-1').indexOf('top10') > -1) > -1) ||
((getcookie('track-page-1').indexOf('cenf') > -1) > -1) ||
((getcookie('track-page-1').indexOf('aip') > -1) > -1)) {
}
Upvotes: 1