JPlayer在IE8下无法播放

JPlayer can't get played in IE8

我在 IE8 中使用 jPplayer 时遇到问题。我正在开发一个应该支持 IE8 的应用程序。它适用于 IE 的所有其他版本 >8,并可在 chrome 和 firefox 上播放。我用多个关键字搜索了它,并根据不同的情况对其进行了更改,但我找不到它不起作用的任何原因。我仍然可以使用 IE8 在 jplayer 站点中播放演示页面。另一种可能性是 swfpath 错误,我对其进行了测试并将 "solution" 更改为 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]-->

经过一番挖掘,我发现这不是因为 jplayer,而是因为 angularjs 与 IE8 不完全兼容。所以我将 es5-shim.min.js 添加到我的路径中并解决了问题。