Как и в названии, у меня есть скрипт, который работает в Chrome и Firefox, но не в IE. Пара уникальных вещей для этой реализации: 1) Несколько версий jQuery (с использованием noConflict), и 2) большинство активов, используемых jPlayer, генерируются через скрипт.jPlayer - событие «ready» не срабатывает в IE 7
Разметка
<a class="audio-trigger" data-type="mp3" data-loop="false" href="/path.to.mp3">Listen</a>
JS (внутри document.ready функции)
// Initialize audio
if ($('.audio-trigger').length) {
//get jQuery 1.10.2 for jPlayer
$.getScript('/rsc/js/libs/jquery-1.10.2.min.js', function() {
$.getScript('/rsc/js/libs/jplayer-2.5.0.min.js', function() {
//jPlayer noConflict option is restricted to strings that contain the term jQuery
var jQuery1102 = jQuery.noConflict(true);
console.log('jQuery ' + $.fn.jquery + ' has been restored to global, and jQuery ' + jQuery1102.fn.jquery + ' has been preserved.');
//create pause button and audio container
var pause = '<a class="audio-pause" href="javascript:;">Pause | <span class="audio-currentTime"></span>/<span class="audio-duration"></span></a><div class="audio-play-area"></div>';
jQuery1102('.audio-trigger').after(pause);
//get audio link
var audioLink = jQuery1102('.audio-trigger').attr('href');
//Init jPlayer
jQuery1102('.audio-play-area').jPlayer({
ready: function() {
jQuery1102(this).jPlayer('setMedia', {
mp3: audioLink
});
},
swfPath: '/rsc/js/libs',
supplied: jQuery1102('.audio-trigger').data('type'),
cssSelectorAncestor: '',
cssSelector: {
play: '.audio-trigger',
pause: '.audio-pause',
currentTime: '.audio-currentTime',
duration: '.audio-duration'
},
noConflict: 'jQuery1102',
loop: jQuery1102('.audio-trigger').data('loop'),
errorAlerts: true
});
});
});
}
и, наконец, когда я нажимаю на спусковой крючок аудио ... Ошибка
Attempt to issue media playback commands, while no media url is set.
Use setMedia() to set the media URL
Context: play
Мое имя пути .swf на 100% точнее и в браузере не было других ошибок.
Заранее благодарим за помощь!