javascript - jPlayer - "ready"事件在 IE 7 中未触发

标签 javascript jquery html jplayer

就像标题所说,我有一个可以在 Chrome 和 Firefox 中运行的脚本,但不能在 IE 中运行。此实现有几个独特之处:1) 多个版本的 jQuery(使用 noConflict),2) jPlayer 使用的大部分资源都是通过脚本生成的。

标记

<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% 准确,并且任何浏览器中都没有抛出其他错误。

预先感谢您的帮助!

最佳答案

我发现服务器上的 .swf 已过期。更新它解决了这个问题。呜呜呜。

关于javascript - jPlayer - "ready"事件在 IE 7 中未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21894021/

相关文章:

javascript - 自定义验证TagHelper : Modify Child Element

html - 复选框点击不触发

html - 2 个箭头内的 CSS 边框

javascript - 使用 JavaScript 只允许 HTML 输入中的特定字符

javascript - 在输入组中带有下拉菜单的响应式 Bootstrap 按钮

javascript - 如何旋转div Html层?

php - 通过 AJAX 将数据从 localStorage 发送到 PHP 并将其保存在 HTML 文件中

javascript - 第一次这一行 console.log ("alphabet--->"+ alphabet);正在打印未定义

javascript - 防止 jQuery UI 中的重复数据可排序

html - 如何将输入的样式切换为看起来像标签