我正在帮助一位 friend his site在更新他的 WordPress 安装以解决最近的安全问题后,处理他网站上音频的 JPlayer 插件停止工作。
Chrome 的控制台显示标题中的错误,但我不太了解 JS,无法正确调试它。我非常确定插件本身与 JQuery 一起正确加载到页面标题中。我根据插件的说明检查了它,一切看起来都很好。
我还更新了插件本身,以确保它不存在兼容性问题。
我没有建立他的网站,我也不熟悉这个特定的插件,我只是想看看它是否是一个简单的修复,或者我是否必须恢复备份。
我认为这与他的网页设计师(他们吵架了)如何在 main.js 中实现它有关。文件,但这就是我所了解的。
帮忙?
最佳答案
真正压缩并删除了 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");
}
如果仔细观察,您会发现很可能在不将 $player
设置为 $( 的情况下调用
,实际上几乎是确定的,这意味着 PlaylistPlay
this)$player
是 false
,并且正在执行
false.jPlayer(...
实际上不起作用,请查看确认变量为false
的控制台输出
关于javascript - 未捕获的 TypeError : $player. jPlayer 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29993974/