1 (изменено: DD, 2015-02-15 04:17:42)

Тема: JS: Проверка существования локального файла

Следующий скрипт проверяет наличие файла на сервере (нужна jquery):

<script type="text/javascript">
    $.ajax({
    url:'http://wargot.com/big_image.jpg',
    type:'HEAD',
    error:
        function(){
            alert("не найден");
        },
    success:
        function(){
            alert("найден");
        }
});
</script>

Но существует ли способ через браузер проверять это для локальных файлов?

2

Re: JS: Проверка существования локального файла

Для файлов изображений. Если запущен не локально, скорее всего не сработает по соображениям безопасности.

<script type="text/javascript">
var img = new Image();
img.onload = function() {
    alert("найден");
};
img.onerror = function() {
    alert("не найден");
};
img.src = "file:///D:/big_image.jpg";
</script>

3

Re: JS: Проверка существования локального файла

Только сейчас заглянул в тему... Интересное решение для файлов изображений! Но любопытно, пройдет ли похожий прием с mp3-файлом, оформленным в стандартный код плеера? Т.е., планировалось вписывать по условию (через document.write) код плеера с найденным mp3-файлом: если локальный не найден, вписывать код плеера с файлом с сервера:


document.write('не найден<br><a class="audio" href="reason.mp3"></a>');

document.write('найден<br><a class="audio" href="http://jeromejaglale.com/shared/jquery_audio_player/audio/reason.mp3"></a>');

Это за счёт jquery, достаточно вставлять ссылки на странице, как ниже, и в этих местах будут появляться оформления плеером


<a class="audio" href="audio/reason.mp3"> 
     Audio: An Electronic Reason 
 </a>