2014-01-07 56 views
0

我有下面的代码示例,我想在fancybox中打开视频,它几乎可以在所有浏览器中正常工作,除非当我尝试在IE 8标准模式下测试它时。fancybox-1.3.4在iE8中不起作用

它在IE 9及以上版本中正常工作。

基于this solution我添加以下代码行,但这并不能使它工作,要么iframe: { preload: false }

HTML代码减速是

<!DOCTYPE html > 
    <html lang="en"> 
    <head id="Head1" runat="server"> 
    <title></title> 
    ......... 

示例代码

<div class="video-icon"> 
    <a href="http://www.youtube.com/embed/CR0AXNtwqZE?autoplay=1" class="fancybox-video"><img src="coorporate-video-icon.jpg"/></a> 
</div> 


      $("a.fancybox-video").fancybox({ 
       width: 600, 
       height: 440, 
       closeClick: true, 
       hideOnOverlayClick: true, 
       type: 'iframe', 
       iframe: { preload: false // fixes issue with iframe and IE 
       } 
      }); 

我不知道是什么打破了它,我不能创建一个小提琴的例子,因为小提琴不起作用IE 8在这方面的任何帮助表示赞赏。

UPDATE:我用的fancybox 2.1.3版尝试过,但我仍然面临着同样的问题..

+0

为什么不使用Fancybox 2? Fancybox 1已停用一段时间。 – Raptor

+1

[本文]中的解决方案(http://stackoverflow.com/questions/14819642/fancybox-stuck-loading-iframe-in-ie)适用于fancybox v2.x. Fancybox 2.x选项与v1.x不兼容 – JFK

+2

@ShivanRaptor:人们可能不想使用v2.x的原因是因为它的许可限制,所以他们更愿意坚持v1.3.4(它不会中止) – JFK

回答

1

it doesn't work并没有真正告诉了什么问题。

如果它甚至不适用于v2.1.3,那么您可能还有其他问题。这对于解决IE的检查清单:

  • 确保你有适当的DOCTYPEDOCTYPE是你的HTML文档的第一行,以便IE浏览器将不会切换到怪癖模式。
  • 确保您将自定义脚本包装在.ready()方法中。
  • 确保您使用的是正确的fancybox选项
  • 确保你没有任何额外的试运行逗号的最后一个选项后
  • 检查其它脚本冲突(其它脚本的语法错误可能会停止工作的fancybox)
  • 确保您没有任何其他js错误。检查IE无法显示该图标(在浏览器的左下角):

    enter image description here

否则,这个网站

<a href="http://www.youtube.com/embed/CR0AXNtwqZE?autoplay=1" class="fancybox-video"><img src="coorporate-video-icon.jpg"/></a> 

这jQuery代码,无论是做工精细的IE [7-9]使用的fancybox V1.3.4:

jQuery(document).ready(function ($) { 
    $("a.fancybox-video").fancybox({ 
     width: 600, 
     height: 440, 
     hideOnContentClick: true, // closeClick: true, // this for v2.x 
     hideOnOverlayClick: true, 
     type: 'iframe' 
    }); 
}); // ready 

见DEMO在http://www.picssel.com/playground/jquery/youtubeEmbedIframe_07jan14.html

+0

我使用Jquery 1.9.x和Fancybox V2一起解决了问题,因为它带有我购买的主题。我试图解决fancyboxv1.8.3的问题,但由于某种原因导致问题不断发生。错误也是由于在FB检测中使用'browser.msie'导致的,后者产生以下错误'jquery-1.8.3.min.js,第2行字符59313' ..所以,学习使用正确的js文件时使用插件.. 。还有其他错误'TypeError:$ .browser是未定义的... ... – Learning

+0

我终于改变了fancybox v2后,我设法使其工作的一些变化。在IE 8中,我还没有尝试过使用IE 7,因为我不打算支持IE 7,否则我可能不得不放弃可能无法在IE 7中正常工作的有用功能。到目前为止,对IF 8的支持已经足够了,我们仍然有少量的用户为IE 8。关于使用fancybox v1我注意到fancybox.js有一些支持与jQuery 1.8.3使用第n个元素的问题可能是创建某种冲突,所以我现在使用jquery 1.9 .x和fancyboxV2,因为它是主题购买的一部分.. – Learning

+0

为了记录,我的演示使用jQuery 1.8.3 + fancybox v1.3.4,在IE中工作得很好。你可能知道fancybox v1.3.4不支持jQuery v1.9 +,你可以在这里看到一个工作http://stackoverflow.com/q/14344289/1055987 – JFK