Проверка, успешно ли загружен SWF-файл

#javascript #html #flash

#javascript #HTML #вспышка

Вопрос:

Я использую SWF-файл в своем HTML-файле.


Как я могу проверить, успешно ли загружен SWF-файл?
или как я могу проверить, существует ли SWF-файл из javascript?
(Я не могу вносить какие-либо изменения в SWF-файл.)

У меня есть обратный вызов для моего SWF-объекта, и я проверяю e.success, но если SWf-файл не существует, он все равно возвращает true.

 function myCallbackFn(e){
   console.log(e.success);
}

swfobject.embedSWF("test.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", "", "", "" ,myCallbackFn);
 

Что еще я могу проверить?

Комментарии:

1. Чего вы пытаетесь достичь? Ваш обратный вызов возвращает true после добавления встроенного кода в DOM; он не проверяет, существует ли файл.

2. Я хочу показывать SWF-файл только тогда, когда все в порядке. Если есть какие-то проблемы с файлом или загрузкой, я не должен показывать SWF, вместо этого я должен показать какой-то другой текст.

Ответ №1:

Чтобы проверить, существует ли файл на удаленном сервере, вы можете сделать что-то вроде этого:

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

Просто передайте ему URL вашего файла, и он вернет true, если файл существует.

Комментарии:

1. Файл будет находиться на локальном компьютере. Не на удаленном сервере

2. Я хотел сказать, что он работает через HTTP … поэтому он будет работать, если ваш сайт работает, скажем, на localhost … до тех пор, пока файлы обслуживаются http-сервером (Apache, Nginx и т. Д.). Таким образом, URL-адрес должен быть чем-то вроде http://localhost/yourfile.swf …. не file://C:/etc...