我在IE8中遇到了jPplayer的问题。我正在开发一个应该支持IE8的应用程序。它适用于IE的每个其他版本> 8并在chrome和firefox上播放。我用多个关键字搜索了它,并根据不同的情况进行了更改,但我找不到任何原因导致它无效。我仍然可以在IE8的jplayer网站上播放演示页面。另一种可能性是错误的swfpath,我测试了它并将"解决方案" 改为flash,它在其他版本的IE中播放。 我得到的错误是:
TypeError: Object doesn't support this property or method<div id=player1 class=ng-isolate-scope data-audio-src="generateLink(answer.literalValue)" im-audio-player>
这是我与jplayer相关的代码。
var idSelector = '#'+scope.id;
var player = $(idSelector+" .jp-jplayer");
player.jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "http://jplayer.org/audio/mp3/Miaow-07-Bubble.mp3"//scope.audioSrc
});
},
swfPath:"angular/experience-detail/audio-player/jplayer/",
supplied: "mp3, ogv",
errorAlerts:"true",
cssSelectorAncestor: "",
solution:"html,flash",
duration: true,
toggleDuration: true,
cssSelector: {
title: idSelector+" .title",
stop: idSelector +" .stop",
mute: idSelector +" .mute",
unmute: idSelector +" .unmute",
currentTime: idSelector +" .currentTime",
duration: idSelector +" .duration"
},
size: {
width: "0px",
height: "0px"
}
});
$(idSelector+" .play").click(function(){
if(player.data().jPlayer.status.paused){
player.jPlayer("play");
$(idSelector+' .active-border').addClass("playing");
$(idSelector+" .audio-player-container").css({"border-color":"#c4ebff"});
}else{
player.jPlayer("pause");
}
});
我真的很感激每一个建议。
编辑:经过一番挖掘,我发现这不是因为jplayer,而是因为angularjs与IE8不完全兼容。所以我将es5-shim.min.js添加到我的路径中并修复了问题。 基本上我将这段代码添加到我的程序中,现在一切都运行良好。有关详细信息,请查看他们的github page.<!--[if lt IE 9]>
<script src="bower_components/html5shiv/dist/html5shiv.min.js"></script>
<script src="bower_components/es5-shim/es5-shim.min.js"></script>
<![endif]-->
答案 0 :(得分:0)
经过一番挖掘,我发现这不是因为jplayer,而是因为angularjs与IE8不完全兼容。所以我在我的路径中添加了es5-shim.min.js并修复了问题。