jPlayer жалуется на действительный swfPath
Главное обновление в конце поста
Я инициализирую jPlayer с помощью следующего кода. Он отлично работает во всех современных браузерах и на мобильных устройствах.
$("#jquery_jplayer_1").jPlayer({
supplied: "mp3",
swfPath: "/js/jQuery.jPlayer.2.4.0",
solution: "html,flash",
errorAlerts: true,
ended: function () {
console.log('ended event fired');
$.getScript('/js/random_show.js.php');
}
});
Однако при тестировании в IE 8 и IE 7 я получаю следующую ошибку от резервного SWF-плеера:
Если я открываю mysite.com/js/jQuery.jPlayer.2.4.0, SWF загружается без проблем. Я попытался оставить страницу на некоторое время, чтобы посмотреть, помогло ли это. Это не.
По предложению пытались с рабочим URL, но теперь есть та же ошибка с полным путем в списке. Путь, взятый из браузера после загрузки SWF, поэтому, безусловно, правильный. Я вставил сюда код, но ТАК возражал против текста поста, содержащего URL... Вот новое сообщение об ошибке.
Другое обновление: Попытка связать напрямую с копией SWF, размещенной jPlayer, согласно предложению Josh D ниже. Та же ошибка Обновлен до 2.5.0 с 2.4.0. Та же ошибка
Как я могу получить запасной вариант?
Основное обновление 12/12/2013
Я установил копию сайта в "песочнице" здесь: http://www.itsneworleans.dreamhosters.com/shows/happy-hour Hit Прослушайте сообщение об ошибке.
Я устранил решение HTML5 и использую только Flash. Это позволяет любому браузеру вызвать ошибку.
После устранения ошибки отладчик Chrome сообщает о статусе 200 для SWF, так что это не проблема 404 SWF. Кто-нибудь есть идея об этой ошибке?
После ошибки ниже уволен.
Сообщение об ошибке Chrome
5 ответов
Я добавил функцию jPlayer.ready() с выводом на консоль для своей инициализации. Я обнаружил, что он срабатывает только тогда, когда плеер уже виден И не было никаких претензий к тому, что решение Flash не было найдено.
После еще нескольких поисков, основанных на этом результате, я нашел этот пост:
"проверьте ваши стили. Если ваш #jquery_jplayer_1 или его родитель имеет display=none, событие ready никогда не срабатывает в таких браузерах, как opera или firefox. Я имею в виду, что объект flash не может быть скрыт."
Происходило то, что Flash-решение jPlayer не загружалось, потому что у моего плеера было установлено значение none.
Так что теперь у меня есть закадровый игрок через отрицательную маржу-вершину и вместо анимации высоты я анимирую маржу-вершину. Теперь все работает.
Укажите абсолютный путь к вашей папке SWF, например www.mysite.com/js/jQuery.jPlayer.2.4.0
, Это поможет вам проверить правильность указанного вами swfPath или что-то еще.
Вы пытались использовать вместо этого swfPath: " http://jplayer.org/2.5.0/js/"?
Если прямой переход к пути в вашем браузере работает, но он не работает внутри скрипта. Это может быть либо:
- MIME-типы - проверьте, обслуживается ли.swf как
application/x-shockwave-flash
- Политика безопасности того же источника (междомена) - это файл.swf и исполняемый файл JS, расположенные в одном домене и обслуживаемые по одному и тому же протоколу (HTTP и HTTPS).
Если вы хотите опубликовать демонстрационную ссылку, мы сможем ее отладить.
Просто напишите "../js/jQuery.jPlayer.2.4.0", вместо этого это даст вам правильное решение. Я сталкиваюсь с той же проблемой в JWPlayer, и она работает так.