2013-06-26 45 views
3

我想知道是否有人可以幫助我在Fancybox 2媒體助手中爲Soundcloud製作另一個案例。當fancybox被觸發時,我需要它加載soundclooud iframe - 否則有一些嵌入的東西真的很慢。Fancybox 2和soundcloud媒體幫手案例

我不是很熟悉正則表達式 - 因此我的詢問。

在谷歌的部分看起來像這樣:

google_maps : { 
    matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i, 
    type : 'iframe', 
    url : function(rez) { 
     return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed'); 
    } 
} 

現在,如果我們採取的SoundCloud標準的iframe代碼:

<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F91535490"></iframe> 

我相信我們會採取網址從IFRAME的直接鏈接不包含它的唯一字符串表示形式的id。

到目前爲止我有什麼(努力) - 是下面的,不工作:

soundcloud : { 
     matcher : /w\.soundcloud\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|url\?)(.*)/i, 
     type : 'iframe', 
     url : function(rez) { 
      return '//w.soundcloud.com/player/?url=$1'; 
     } 
} 

有人能指出我朝着正確的方向嗎?

回答

2

確定 - 對於那些誰也想知道 - 我已經成功地得到它具有以下工作:

soundcloud : { 
     matcher : /w\.soundcloud\.com\/player\/(.*)\/?(.*)/, 
     type : 'iframe', 
     url : function(rez, params, obj) { 
      obj.width = '600px'; 
      obj.height = '166px'; 
      return '//w.soundcloud.com/player/' + rez[1]; 
     } 
}