JPlayer is unable to function in Internet Explorer 8

I'm facing an issue with jPplayer specifically in IE8. I'm currently developing an application that needs to be compatible with IE8. Interestingly, the player works perfectly fine on all other versions above 8 of Internet Explorer, as well as on Chrome and Firefox. Despite my efforts to troubleshoot by searching online using various keywords and implementing different solutions based on various scenarios, I haven't been able to pinpoint the exact reason for the malfunction in IE8. Strangely, the demo page on the jplayer website plays smoothly on IE8. Initially, I suspected the problem could be due to an incorrect swfpath. However, upon testing this theory and changing the "solution" to just Flash, the player worked seamlessly on other IE versions. The specific error message encountered is:

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>

Below is a snippet of the code related to 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");
                 }
             });

I welcome any suggestions or insights on how to resolve this issue.

UPDATE: Further investigation led me to discover that the root cause was not actually the jplayer but rather an incompatibility issue between AngularJS and IE8. To address this, I included es5-shim.min.js in my project's path which successfully resolved the problem. By integrating the following code snippet into my program, everything now runs smoothly. For additional details, you can visit their 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]-->

Answer №1

Upon further investigation, I discovered that the issue was not arising from jplayer but rather due to incompatibility between angularjs and IE8. To resolve this, I included the es5-shim.min.js in my directory which successfully resolved the issue.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

The drawbacks of using toJS() in React Redux: Is it really necessary in mapStateToProps()?

After reading through the Redux documentation, I came across a recommendation to not use Immutable with Redux. This advice has left me feeling confused. Why should I avoid using toJS() in the mapStateToProps function? It seems that React already uses Dee ...

What is causing the colorful background to not fully cover my page when I make the window smaller?

I'm currently designing a webpage that features a dynamic gradient background. Within this webpage are two columns - one displaying an image of a phone, and the other containing text. In full screen mode, everything looks perfect. The gradient stretch ...

Cross-origin resource sharing (CORS) will still be ineffective, even when the Access-Control-Allow-Origin

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus quis est eu arcu tincidunt pulvinar. Aenean vel sapien vitae quam varius vulputate. Vestibulum et lacinia sem. Vivamus tristique mi ac metus tincidunt eget. // Donec fermentum al ...

Steps to eliminate the select all checkbox from mui data grid header

Is there a way to remove the Select All checkbox that appears at the top of the checkbox data column in my table? checkboxSelection The checkboxSelection feature adds checkboxes for every row, including the Select All checkbox in the header. How can I ...

Managing Image Quality with Unsplash API

How can we ensure high quality images are embedded on the web using Unsplash API or other methods? The image displayed in the example below appears blurry and unclear compared to the original image. Original Image link: Example of embedding the image abo ...

The split() function returns a string that remains unaltered and intact, without any

I am attempting to separate this string: 120,00 m² into two distinct parts like this: 120 m² This is the code I have been using: var test = jQuery('#wpsight-listing-details-3 .span4:nth-child(4) .listing-details-value').html(); var pa ...

What steps are needed to convert the format to an array in JavaScript?

I have received a value in the format: [["first"],["second"],["third"]] However, I need it to be like this: {"first","second","third"} How can I achieve this using JavaScript? ...

Tips for dynamically refreshing a collection of radio buttons using jQuery Mobile?

If I have a set of 3 radio buttons like this: <label for="a-1">A</label> <input type="radio" name="a" id="a-1" value="1" /> <label for="a-2">A</label> <input type="radio" name="a" id="a-2" value="2" /> <label for="a- ...

Conceal a Div Element on a Website

My website's home page features a CSS animation that slides two images with a high z-index off the screen to reveal the content below. I want this animation to only run the first time the page is accessed during a session, and not every time the user ...

ReactJS Modal popping up repeatedly while inside a loop

Hey there, I've been experimenting with ReactJS and came across this amazing Modal Component for opening videos in a modal. However, I encountered an issue when placing the Modal inside a loop with multiple links - it opens multiple times correspondin ...

Why is there an error when trying to assign Type '{}' in generics typescript?

I'm having trouble understanding why this code is causing an error. The error message says - Type '{}' is not assignable to type 'Keys<T>'. type Keys<T extends string|symbol>={ [key in T]: string; }; const foo = < ...

"Resetting the state of a form in AngularJS2: A step-by

Looking to reset the form state from dirty/touched in angular? I am currently delving into the world of angular2 and working on a form with validation. In my journey, I came across this code snippet: <form *ngIf="booleanFlag">..</form> This ...

Eslint in VS Code encounters issues resolving paths within a monorepo

I'm currently working on a project with the following structure: modules │ ├── client │ ├── .eslintrc.json │ └── backend │ ├── .eslintrc.json ... One issue I've run into is that when I access the p ...

The elements within the "ng-repeat" directive are not appearing as expected

My application makes a get request using Angular's http service and then loops over the returned data to display an unordered list in the view. However, I am facing an issue where the data is available after the get request but is not being displayed ...

Steps to update the value of an object stored within an array

I have a collection of items stored in an array. Each item is represented by an object with properties. I want to update the value of a specific property within each object: var array=[{a:1, b:false}, {a:2, b:true}, {a:3, b:false}] My goal is to set the p ...

What is the most efficient way to remove multiple items from an array based on their value?

My goal is to create a function called removeAll() that will eliminate all elements of an array with a specific value, rather than based on index. The challenge arises when any modifications are made to the loop, causing the indexes to shift (which makes ...

Create your own custom block on the frontend product page

I am trying to create a custom block on the Product Page of my Magento store. I attempted it like this: Magento- How can i add a new custom block in product details page using module Unfortunately, it did not work as expected. Did I make any mistakes he ...

"Exploring the world of JavaScript, Ajax, PHP parser errors, and the process of obtaining post data

Having an issue with the AJAX functionality in my game.php file. Despite my efforts to refresh .refre, I keep encountering a "parsererror" message. The jsonString variable is created using JSON.stringify(object). <div class="refre"></div> < ...

Value binding with conditional rendering in VueJS 2

My goal is to utilize VueJS 2 to render an inline condition while simultaneously adding a value to a DOM element. I am aware that I can use v-if to control the visibility of elements based on conditions, but how can I achieve an inline condition? For exam ...

What is the best way to include the "onChange" function in a component that does not natively support this prop?

After finding a useful code snippet on this page to switch languages, I attempted to enhance it by incorporating material UI components for better styling. However, whenever I change the language, it redirects me back to the home page because the MenuList ...