2011-02-09 48 views
7

使用Fancyboxplay youtube videos in a modal boxFancybox正在返回「請求的內容無法加載,請稍後再試。」

我的問題是,我一直在收到「請求的內容無法加載,請稍後再試。」

模式對話框被彈出,所以我知道腳本運行時,它可能是與我的API調用的一個問題...這裏是我的電話:

<script type="text/javascript"> 
$(document).ready(function() { 

      /* This is basic - uses default settings */ 

      $("a.fancybox").fancybox({ 
       'hideOnContentClick': true 
      }); 

      /* This is a non-obtrustive method for youtube videos*/ 

      $("a[rel=fancyvideo]").fancybox({ 
       overlayShow: true, 
       frameWidth:640, 
       frameHeight:360, 
      }); 
     }); 
</script> 

回答

7

你有任何<a> s的兩個class="fancybox"rel="fancyvideo"?如果你這樣做,那麼你會將Fancybox綁定到這些元素兩次,而Fancybox可能不會那樣。嘗試拿出這一個:

$("a.fancybox").fancybox({ 
    'hideOnContentClick': true 
}); 

然後看看第二個到位發生了什麼。

UPDATE:奇怪。該演示(http://chadly.net/demos/video-lightbox.html)生成與您的頁面不同的HTML,演示版本將生成一個<object data=...>,但是您將生成一個<object><embed src="youtube-url">的東西。你說:

type: 'swf' 

在你的fancybox結合,這也正是<object><embed>...</embed></object>東西從何而來。但是,href指向一個普通的舊YouTube視頻查看HTML頁面,並且href最終爲<embed>src屬性。嵌入YouTube視頻的URL與視頻的HTML頁面不同,這可能是問題的根源。

嘗試更換,看起來像這樣的href

http://www.youtube.com/watch?v=QmVvgSfdmJQ 

一個這樣的:

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

首先是YouTube的純HTML頁面,第二個是嵌入SWF。

更新2:你從工作的例子是的fancybox 1.0.0,但你正在使用1.3.4,1.0.0對YouTube的一些特殊的檢查,不存在在以後的版本:

//... 
} else if (url.match(/youtube\.com\/watch/i)) { 
//... 

,從1.0.0是和else if後的代碼重寫HTML頁面URL(如http://www.youtube.com/watch?v=QmVvgSfdmJQ)到舊嵌入SWF URL(如http://www.youtube.com/v/QmVvgSfdmJQ)。此版本問題也解釋了爲什麼演示製作的HTML不同於您的HTML。

所以,你有一些其他的版本問題。

+0

很好的電話,不幸的是,我已經嘗試過。沒有骰子。我沒有在rel to youtube視頻上使用同一個班級。也刪除了第一個Fancybox調用,它不會改變任何東西。你可以在這裏看到這個網站:http://anasmadance.com.s66112.gridserver.com/about/repertoire/ ...點擊第一個大標題div展開它,然後查找「觀看視頻」 – Brian 2011-02-09 04:15:08

1

看起來像你的代碼可能會稍微偏離

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a[@rel*=fancyvideo]").fancybox({ 
      overlayShow: true, 
      frameWidth:640, 
      frameHeight:360 
     }); 
    }); 
</script> 

http://chadly.net/post/2009/01/29/Lightbox-for-YouTube-Videos.aspx

+0

可惜沒有,筆者發佈這個jQuery 1.3之前.2他的帖子中的代碼是錯誤的。在更新之前,代碼根本不起作用,之後我得到了模式框,但沒有顯示視頻。 – Brian 2011-02-09 03:59:23

1

使用這個樣本別忘HREF

<a class="fancybox" href="your path for image or other"> 
    <img src="imagepath"> 
</a> 
2

檢查一下您是否包括jquery.fancybox-media.js

<script type="text/javascript" src="jquery.fancybox-media.js?v=1.0.0"></script> 
相關問題