Fancybox 2和soundcloud媒体助手案例

时间:2013-06-26 09:21:15

标签: fancybox media soundcloud fancybox-2

我想知道是否有人可以帮我在Soundcloud的Fancybox 2媒体助手中制作另一个案例。我需要它来启动fancybox时加载soundclooud iframe - 否则有一些嵌入的东西真的很慢。

我对正则表达式不太熟悉 - 因此我的询问。

谷歌部分看起来像这样:

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';
        }
}

有人能指出我在正确的方向吗?

1 个答案:

答案 0 :(得分: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];
        }
}