开始/停止嵌入的 facebook 视频

Posted

技术标签:

【中文标题】开始/停止嵌入的 facebook 视频【英文标题】:Start / stop embedded facebook video 【发布时间】:2015-08-16 20:58:20 【问题描述】:

Facebook 现在有一个嵌入的 html5 iframe,用于包含视频

示例

(function(d, s, id) 
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/nl_NL/sdk.js#xfbml=1&version=v2.3";
  fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));
<div id="fb-root"></div>
<div class="fb-video" data-allowfullscreen="true" 
  data-href="/iloveamersfoort/videos/vb.785215881547195/804162796319170/?type=1">

如果页面上有多个嵌入视频,是否有人知道如何开始停止使用 javascript

使用 html5 视频我可以做到:

document.addEventListener('play', function(e)
    var videos = document.getElementsByTagName('video');
    for(var i = 0, len = videos.length; i < len;i++)
        if(videos[i] != e.target)
            videos[i].pause();
        
    
, true);

但也许有人已经有了解决方案?

【问题讨论】:

如果它在 iframe 中,我敢说你不能做你想做的事。 没有办法启动/停止它们 我知道它在 iframe 内,但 youtube 使用 js api 来控制嵌入式 iframe。所以也许 facebook 有类似的东西,但还没有在他们的描述页面上 【参考方案1】:
    $(function()
        var fb_play_arr=[];
        window.fbAsyncInit = function() 

        FB.init(
            xfbml: true,
            version: 'v2.5'
        );

        FB.Event.subscribe('xfbml.ready', function(msg) 
            if (msg.type === 'video') 
                fb_play_arr.push(msg);

                msg.instance.subscribe('startedPlaying', function() 
                    $.each(fb_play_arr, function(j)
                        if (fb_play_arr[j].id != msg.id) 
                            fb_play_arr[j].instance.pause();
                         
                    );
                );
            
        );
    ;

(function(d, s, id)
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/zh_TW/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));
);

【讨论】:

以上是关于开始/停止嵌入的 facebook 视频的主要内容,如果未能解决你的问题,请参考以下文章

在 facebook 嵌入式视频中设置自动播放时如何启用声音?

通过 ajax 嵌入 Facebook 视频

播放另一个嵌入的 YouTube iframe 时停止

从 Facebook 的 Graph API 嵌入视频的最佳方式是啥?

使用 Facebook Graph API 发布嵌入式视频链接

Lightbox facebook iframe,视频嵌入