2015-05-01 136 views
1

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

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

我也更新了插件本身,以确保它不是一些兼容性问题。

我做了而不是建立他的网站,我也不熟悉这个特殊的插件,我只是想看看这是一个简单的修复,还是我必须恢复备份。

我认为这与他的网页设计师(他们曾经摔倒)如何在main.js文件中实现它有关系,但这与我所得到的差不多。

帮助?

+0

我在Chrome中看不到错误,只是一个警告。 – garryp

回答

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),它实际上是几乎certaintity,这意味着$playerfalse,并且做

false.jPlayer(... 

并未真正发挥作用,看到控制台输出confir MS变量是false

enter image description here

0

插件未正确初始化。在$(document).ready()它试图初始化插件,它报告一个Flash错误。

下面的代码的显著部分:

$("#jPlayer").jPlayer({ 
    ... 
    error: function(event) { 
     var out = "<p id=\"noSolution\">Sorry, you need an HTML5 capable browser or flash to be able to listen to music on this website.<br /> Reason: "; 
     switch(event.jPlayer.error.type) {   
      case $.jPlayer.error.FLASH: 
       out += "A problem with the Flash insertion on the page."; 
      break; 
      ... 
     } 
    } 
    ... 
}); 

挖一个深一点,我可以在特定的代码块跟踪这回vimeo.jplayer

_flash_volume: function(a) { 
    try { 
     this._getMovie().fl_volume(a) 
    } catch (b) { 
     this._flashError(b) 
    } 
} 

该函数抛出因为this._getMovie()没有名为fl_volume的属性。

您实际看到的错误是此故障的副作用。您可以尝试从上述语句中删除该行:this._flashError(b),并查看是否可以安全地忽略该错误。

+0

我尝试了所有浏览器中的所有内容,而且我无法为我的生活获取闪存错误,当HTML5视频不可用时,它只会回落到闪存。我甚至尝试模仿旧的IE浏览器,但没有任何作品。如果我访问该网站,并点击顶部或任何专辑中的播放按钮,我会收到一个“未定义的函数”错误,就这些?你是如何得到这个错误的,在什么浏览器等? – adeneo

+0

赢7/Chrome 42。我想这也可能与我的工作中的防火墙有关......另外,我只是在“document.ready”中放置了一个断点,并能够通过此处进入。 – dave

+1

我真的不知道OP的问题是什么,没有太多关于错误的描述,所以它可能是任何东西,我只是想知道为什么我找不到Flash错误。奇怪的是,当我完全禁用Flash时,音乐实际上开始播放,因为'if'contidition似乎是另一种方式,'$ player'设置正确,所以我看到的错误可能与Flash有关以及? – adeneo

相关问题