未捕获的TypeError:$ player.jPlayer不是函数

时间:2015-05-01 19:41:59

标签: javascript jquery wordpress

我正在帮助his site的朋友,在更新了他的WordPress安装以解决最近的安全问题之后,处理其网站上的音频的JPlayer插件停止了工作。

Chrome控制台显示标题中的错误,但我不太清楚JS是否能够正确调试它。我非常确定插件本身与页面标题中的JQuery一起正确加载。我根据插件的说明进行了检查,一切正常。

我还更新了插件本身,以确保它不会出现兼容性问题。

构建他的网站,我也不熟悉这个特定的插件,我只是想看看它是否是一个简单的解决方案,或者我是否有恢复备份。

我认为这与他的网页设计师(他们有一个吵架)如何在main.js文件中实现它有关,但这就是我所知道的。

帮助?

1 个答案:

答案 0 :(得分:0)

真正凝结并移除main.js的部分,看起来像

var $player = false,

$(document).ready(function() {
    if(!$player) {
        $("#jPlayer").jPlayer({
            ready: function() {
                $player = $(this); // IT'S BEING SET HERE !
                PlaylistPlay(playlistObject,trackIndex);
            }
        });
    } else {
        PlaylistPlay(playlistObject,trackIndex);
    }
});

function PlaylistPlay(lePID,trackIndex) {
    playTrack(trackIndex);  
}

function playTrack(index) { 
    $player.jPlayer("setMedia", {mp3: trackObject.mp3,oga: trackObject.oga}).jPlayer("play");
}

如果你仔细观察,你会发现,如果PlaylistPlay$player设置为$(this),就可以调用$player,这实际上几乎是确定的,这意味着falsefalse.jPlayer(... ,并且正在执行

false

不起作用,请参阅确认变量为:input_html

的控制台输出

enter image description here