2014-01-07 57 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