JPlayer не может играться в IE8

0

У меня проблема с jPplayer в IE8. Я работаю над приложением, которое должно поддерживать IE8. Он работает в любой другой версии> 8 IE и играет на хроме и firefox. Я искал его с несколькими ключевыми словами и изменил его на основе разных сценариев, но я не мог найти причин, почему он не работает. Тем не менее, я могу играть на демо-странице в jplayer-сайте с IE8. Другая возможность была неправильной swfpath, которую я тестировал и менял "решение", чтобы просто мигать, и он воспроизводится в другой версии 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");
                 }
             });

Я действительно ценю каждое предложение.

EDIT: после некоторого рытья я понял, что это не из-за jplayer, а из-за угловых, которые не полностью совместимы с IE8. Поэтому я добавил es5-shim.min.js на свой путь и устранил проблему. В основном я добавил эту коду кода в свою программу, и теперь все работает хорошо. для получения дополнительной информации вы можете проверить их страницу github.

<!--[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]-->
Теги:
angularjs-directive
jplayer
es5-shim

1 ответ

0
Лучший ответ

После некоторого рытья я понял, что это не из-за jplayer, а из-за angularjs, который не полностью совместим с IE8. Поэтому я добавил es5-shim.min.js на свой путь и устранил проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню