Reputation: 1475
I am banging my head trying to find the error in this code. I have checked it so many times can someone point out where the problem is?
$(function() {
try {
function endswith(str, ends) {
if (ends === '') return true;
if (str == null || ends == null) return false;
str = String(str);
ends = String(ends);
return str.length >= ends.length && str.slice(str.length - ends.length) === ends;
}
var referrer = new URL(document.referrer).domain;
if (endswith(referrer, "xyz.com")) {
$(".logo .logo-external").remove();
} else {
$(".logo .logo-internal").remove();
}
} catch () {}
});
Upvotes: 8
Views: 32574
Reputation: 4255
As per MDN, try...catch
syntax is defined similar to the following:
try {
try_statements
}
...
[catch (exception_var) {
catch_statements
}]
[finally {
finally_statements
}]
This means the exception_var
is NOT optional. Otherwise, it would look like this:
...
[catch ([exception_var]) { // Uncaught SyntaxError: Unexpected token )
catch_statements
}]
...
Upvotes: 1
Reputation: 6527
catch (e) {}
You missed the variable e
$(function() {
try {
function endswith(str, ends) {
if (ends === '') return true;
if (str == null || ends == null) return false;
str = String(str);
ends = String(ends);
return str.length >= ends.length && str.slice(str.length - ends.length) === ends;
}
var referrer = new URL(document.referrer).domain;
if (endswith(referrer, "xyz.com")) {
$(".logo .logo-external").remove();
} else {
$(".logo .logo-internal").remove();
}
} catch (e) {}
});
Upvotes: 13