开始/停止嵌入的 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 嵌入式视频中设置自动播放时如何启用声音?
从 Facebook 的 Graph API 嵌入视频的最佳方式是啥?