Как с помощью javascript отследить наличие файла .js?

Рейтинг: 0Ответов: 1Опубликовано: 28.10.2014

Есть игра (т.е. скоро будет), в которой после прохождения уровня подгружается следующий файл .js с необходимыми данными. Например, есть 2 файла - 1.js и 2.js. При прохождении первого уровня с помощью

lv = lv + 1;
var _script = document.createElement("script");
 _script.src = "levels/" + lv + ".js";
document.getElementsByTagName("head")[0].appendChild(_script);

подгружается 2.js. Так вот, как можно отследить, что 3.js НЕ СУЩЕСТВУЕТ и выдать при этом сообщение. Пробовал через try catch - не помогает.

Ответы

▲ 1Принят

Ну, как вариант

$.ajax({
    url:'somescript.js',
    success:function(){
        alert('exists');
    },
    error:function(){
        alert('no such file');
    }
});

http://jsfiddle.net/knes/j2npbwbq/

Обновление

http://jsfiddle.net/knes/qckw3yjf/ - без jquery.

Конечно, нельзя, так как JS работает на стороне клиента, соответственно он не может знать, что происходит на сервере.
Чу-у-уть-чуть более мягкий способ - обращаться к php скрипту (какому-нибудь экшену контроллера), опять же, по аяксу и спрашивать у него наличие того или иного файла, в случае наличия подключать. Так у вас не будет вылезать ошибка в консоли.