Kontrola, zda není adresa URL v JavaScriptu poškozena

Tato otázka již byla na Stacku položena, ale není tak konkrétní, co se snažím pochopit.

Nejjednodušší způsob, jak zkontrolovat, zda je adresa URL správná pro odeslání požadavku http Head. Ale jak to použijete k určení adresy URL?

Toto jsem našel v předchozím příspěvku:

function UrlExists(url) {
  var http = new XMLHttpRequest();
  http.open('HEAD', url, false);
  http.send();
  return http.status!=404;
}

Zdá se však, že neběží ve firebugu z několika důvodů.

Předem se omlouvám za hloupost.

Odpověď

Doporučuji používat jQuery pro správné požadavky ajax napříč prohlížeči:

function UrlExists(url, cb){
    jQuery.ajax({
        url:      url,
        dataType: 'text',
        type:     'GET',
        complete:  function(xhr){
            if(typeof cb === 'function')
               cb.apply(this, [xhr.status]);
        }
    });
}

Použití:

UrlExists('/path/script.pl', function(status){
    if(status === 200){
       // file was found
    }
    else if(status === 404){
       // 404 not found
    }
});