JWPlayer IE 问题,隐藏和显示后屏幕黑屏
我在 IE 中的 html 选项卡中使用 jwplayer,并使用 jQuery 显示和隐藏它们(通过 style:hidden;)
当我在 IE 中隐藏选项卡然后再次显示它时,播放视频区域会变为空白(您仍然可以听到声音并播放/暂停视频)。
有谁知道为什么会发生这种情况或有办法解决它。
干杯。
这是 jQ 进行隐藏/显示的操作:
function showpanel(panel){
jQuery('#announcements .panel').each(function(index) {
if(panel == index) {
jQuery(this).css('visibility','visible');
} else {
jQuery(this).css('visibility','hidden');
}
});
jQuery('#announcements .nav ul li.item').each(function(index) {
if(panel == index) {
jQuery(this).addClass("active");
} else {
jQuery(this).removeClass("active");
}
});
}
jQuery(document).ready(function(){
showpanel(0);
jQuery('#announcements .nav ul li.item').each(function(index) {
jQuery(this).mouseover(function(){
if(jQuery(this).hasClass("active")){
//console.log('if');
} else {
//console.log('else');
document.getElementById('jw_player').sendEvent('PLAY', 'false');
showpanel(index);
}
});
});
});
I'm using jwplayer in html tabs in IE with jQuery showing and hiding them (via style:hidden;)
When I hide a tab in IE and then show it again the plays video area goes blank (you can still hear sound and play/pause the video).
Does anyone know why this is happening or have a way to fix it.
Cheers.
Here's the jQ doing the hiding / showing:
function showpanel(panel){
jQuery('#announcements .panel').each(function(index) {
if(panel == index) {
jQuery(this).css('visibility','visible');
} else {
jQuery(this).css('visibility','hidden');
}
});
jQuery('#announcements .nav ul li.item').each(function(index) {
if(panel == index) {
jQuery(this).addClass("active");
} else {
jQuery(this).removeClass("active");
}
});
}
jQuery(document).ready(function(){
showpanel(0);
jQuery('#announcements .nav ul li.item').each(function(index) {
jQuery(this).mouseover(function(){
if(jQuery(this).hasClass("active")){
//console.log('if');
} else {
//console.log('else');
document.getElementById('jw_player').sendEvent('PLAY', 'false');
showpanel(index);
}
});
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我用...
代替了可见性,效果很好。
I used...
Instead of the visibility and it worked great.
解决此问题的最佳方法是在单击另一个选项卡时删除播放器。然后在单击/重新单击该选项卡时重新加载播放器。您可以使用 jwplayer("container").remove(); 删除播放器-- 假设你的 div 和玩家在里面是一个 id 名为container的容器。要将其添加回来,只需放置相同的 jwplayer("container").setup({...});在那个函数中。
Best way to fix this solution is to remove the player when another tab is clicked. Then load the player back in when that tab is clicked/re-clicked. You can remove the player by using jwplayer("container").remove(); -- assuming your div with the player in it is an id named container. To add it back in just place the same jwplayer("container").setup({...}); in that function.