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. Кто-нибудь есть идея об этой ошибке?

После ошибки ниже уволен.

200 статус

Сообщение об ошибке 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/"?

Если прямой переход к пути в вашем браузере работает, но он не работает внутри скрипта. Это может быть либо:

  1. MIME-типы - проверьте, обслуживается ли.swf как application/x-shockwave-flash
  2. Политика безопасности того же источника (междомена) - это файл.swf и исполняемый файл JS, расположенные в одном домене и обслуживаемые по одному и тому же протоколу (HTTP и HTTPS).

Если вы хотите опубликовать демонстрационную ссылку, мы сможем ее отладить.

Просто напишите "../js/jQuery.jPlayer.2.4.0", вместо этого это даст вам правильное решение. Я сталкиваюсь с той же проблемой в JWPlayer, и она работает так.

Другие вопросы по тегам