2013-02-27 79 views
0

我问这个问题后,一年左右的职位前。youtube video坐在以上所有其他内容忽略wmode

YouTube Video Embedded via iframe Ignoring z-index?

我有一个页面上,你管的视频。该网页上我想显示的fancybox ..但由于YouTube视频,这并不工作

我在代码

jQuery(document).ready(function(){ 
    jQuery('iframe').each(function(){ 
     var url = jQuery(this).attr("src"); 
      if (jQuery(this).attr("src").indexOf("?") > 0) { 
       jQuery(this).attr({ 
        "src" : url + "&wmode=transparent", 
        "wmode" : "Opaque" 
       }); 
      } 
    }); 
}); 

,这将被添加到代码

<iframe width="500" height="281" src="http://www.youtube.com/v/TUNROkqBte4?theme=light&showinfo=0&modestbranding=0&border=0&fs=1" frameborder='0'></iframe> 
添加

我不能改变。

为什么这仍然会发生在ie7/8与添加jquery?

感谢

+0

变 “SRC”:URL + “&的wmode =透明”,以 “SRC”:URL + “&的wmode =不透明”, – 2013-02-27 04:40:45

+0

没有joy-感谢尽管 – Dan 2013-02-27 04:46:52

+0

难道只有发生在IE7/IE8? – sjdaws 2013-02-27 04:48:41

回答

3

的问题是,YouTube的URL格式:

http://www.youtube.com/v/... 

...是不是要成为一个iframe标签内使用正确的一个。

iframe正确的格式应该是:

jQuery('iframe').each(function() { 
    var url = jQuery(this).attr("src").replace(new RegExp("/v/", "i"), '/embed/'); 
    if (jQuery(this).attr("src").indexOf("?") > 0) { 
     jQuery(this).attr("src", url + "&amp;wmode=opaque"); 
    } 
}); 

这应该做的:

http://www.youtube.com/embed/... 

如果你不能改变它,然后使用类似的JavaScript .replace()方法取代它的飞行招。见JSFIDDLE

+0

谢谢。完善 – Dan 2013-02-27 05:26:01

相关问题