JSFiddle - React, Tailwind, and code Playground

by Sergio Crisostomo

HTML

<a href="/Sergio_fiddle/vexcuhu2/">Este link existe</a>
<a href="/blablabla/">Este link não existe</a>

JavaScript

function verificar(url, cb) {
    var request = new XMLHttpRequest();
    request.open('GET', url, true);
    request.onload = function() {
        if (request.status >= 200 && request.status < 400) cb(true);
        else cb(false);
    };

    request.onerror = function() {
        cb(false);
    };
    request.send();
}

var links = document.querySelectorAll('a');
for (var i = 0; i < links.length; i++) {
    links[i].addEventListener('click', verificador(links[i]))
}

function verificador(el) {
    return function(e) {
        e.preventDefault();
        var url = e.target.href;
        var status = verificar(url, function(sucesso){
                alert('Essa página ' + (sucesso ? 'existe!' : 'não existe :('));
        });
    }
}