#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...