我已经在我的项目中实现了jwplayer 6,我在IE8控制台中收到错误 SCRIPT5007:无法获得财产' cssRules'未定义或空引用 jwplayer.html5.js,第9行第34行
是什么导致了这个问题
以下是屏幕截图和链接http://dev.www.infopave.com/Page/Index/PRESENTATIONS
点击任何视频链接,在IE8,IE9中查看控制台,任何帮助都会受到高度关注。
由于
这是我的代码
// Get Jwplayer Events and submit to google analytics add by noor03/12/2014
函数LoadVideoDynamically(VideoFileName,VideoFileTitle,VideoPageURL){
jwplayer("mediaplayer").setup({
file: VideoFileName, //exp //file: 'rtmp://s1nu7pjztotbeg.cloudfront.net/cfx/st/mp4:Help/How_To/GettingStarted_V2-Med_x264.mp4',
width: "100%",
height: "545",
autostart: true,
events: {
onComplete: function (event) {
ga('send', 'event', 'Video Completes', ''+VideoFileName+'', '' + VideoFileTitle + '');
},
onReady: function (event) {
ga('send', 'event', 'Video Plays', '' + VideoFileName + '', '' + VideoFileTitle + '');
}
}
});
function setText(id, messageText) {
document.getElementById(id).innerHTML = messageText;
}
}
答案 0 :(得分:1)
我也遇到了这个错误。似乎IE8中有一个jwplayer错误,他们还没有解决。我没有太多关注它,但看起来IE8可能不会在JS之前加载样式表,使得像document.styleSheets[0].cssRules
这样的空对象。在整页加载(通过代码的第二次迭代)之后,该错误似乎消失了,但此时为时已晚。
http://www.longtailvideo.com/support/forums/jw-player/bug-reports/30546/cssrules-error-in-ie8-script5007/ http://www.longtailvideo.com/support/forums/jw-player/bug-reports/35845/ssheetcssrules-is-null-or-not-an-object-error-in-ie8/
无论如何,我的快速解决方法是阻止在IE8中加载html5 js:
<!--[if (gt IE 8)|!(IE)]><!-->
<script src="jwplayer.html5.js" type="text/javascript"></script>
<!--<![endif]-->
IE8使用flash版本,因此不需要此代码。
答案 1 :(得分:0)
更好的方法是也添加这两个块:
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!--[if (gt IE 8)|!(IE)]><!-->
<script src="jwplayer.html5.js" type="text/javascript"></script>
<!--<![endif]-->