我正在尝试在我的移动网站上嵌入 facebook 视频,并使用此处记录的他们的 Video API来做到这一点。
我已经按照描述初始化了视频播放器并创建了播放和暂停按钮来控制视频,但是当我使用播放按钮时出现错误Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture.
我尝试过制作,data-allowfullscreen="false"
但这似乎不起作用,因为加载的 iframe 包含allowfullscreen="true"
看下面的图片,我有它是假的,但加载的 iframe 有它是真的
加载的 iframe 有 allowfullscree=true 即使我给了 false
我正在使用 React 并为此制作了一个简单的组件
import React, { Component } from 'react';
import { Container, Button } from 'react-bootstrap';
class Vidtest extends Component {
handlePlayVideo = () => {
window.my_video_player.play();
}
handlePauseVideo = () => {
window.my_video_player.pause();
}
render() {
return(
<React.Fragment>
<div style={{position:"relative", width:"100%"}}>
<div id="video_div"
className="fb-video"
data-href="https://www.facebook.com/facebook/videos/10153231379946729/"
data-width="500"
data-allowFullScreen="false"
>
</div>
<Button className="btn btn-primary" onClick={this.handlePlayVideo}>Play Video</Button>
<Button className="btn btn-primary" onClick={this.handlePauseVideo}>Pause Video</Button>
</div>
</React.Fragment>
);
}
}
export default Vidtest
并在我的 index.html 中初始化了 FB 视频播放器
<div id="root"></div>
let my_video_player
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '{my-app-id}',
xfbml : false,
version : 'v7.0'
});
// Get Embedded Video Player API Instance
FB.Event.subscribe('xfbml.ready', function(msg) {
if (msg.type === 'video') {
my_video_player = msg.instance;
console.log(msg.id);
console.log('my_video_player created lfakjd');
}
});
};
</script>
<script
async
defer
crossorigin="anonymous"
src="https://connect.facebook.net/en_GB/sdk/debug.js#xfbml=1&version=v7.0&appId={my-app-id}&autoLogAppEvents=1">
</script>
有人可以帮我解决这里的问题吗?
我想使用 my_video_player.play() 播放视频,并且不允许它全屏播放。