如何在移动设备上防止 YouTube IFrame JavaScript API 自动全屏?
How to prevent auto full screen on YouTube IFrame JavaScript API on mobile?
我想找到一种方法来防止嵌入式 YouTube iframe 在移动设备上自动进入全屏模式?但是,我希望能够为用户提供全屏选项。
目前,当您按下播放键时,YouTube 会自动将视频设置为全屏。我有类似以下内容:
self.player = new YT.Player('player', {
height: '100%',
width: '100%',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
我查看了文档,除了完全禁用全屏外,我找不到任何东西。
您必须将 playsinline
var 设置为 1
以允许在非全屏模式下播放。然而,这仅适用于 iOS。在 Android 设备上,这无关紧要。默认内联播放。
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
width: "100%"
height: "100%",
playerVars: {
playsinline: 1
},
events: {
onReady: (evt) => {
// To-Do
},
onStateChange: (evt) => {
// To-Do
},
onError: (evt) => {
// To-Do
}
}
});
}
另外请注意,在创建 YouTube 播放器之前,请等到 iframe api 调用其 onYoutubeAPIReady
函数。
我想找到一种方法来防止嵌入式 YouTube iframe 在移动设备上自动进入全屏模式?但是,我希望能够为用户提供全屏选项。
目前,当您按下播放键时,YouTube 会自动将视频设置为全屏。我有类似以下内容:
self.player = new YT.Player('player', {
height: '100%',
width: '100%',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
我查看了文档,除了完全禁用全屏外,我找不到任何东西。
您必须将 playsinline
var 设置为 1
以允许在非全屏模式下播放。然而,这仅适用于 iOS。在 Android 设备上,这无关紧要。默认内联播放。
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
width: "100%"
height: "100%",
playerVars: {
playsinline: 1
},
events: {
onReady: (evt) => {
// To-Do
},
onStateChange: (evt) => {
// To-Do
},
onError: (evt) => {
// To-Do
}
}
});
}
另外请注意,在创建 YouTube 播放器之前,请等到 iframe api 调用其 onYoutubeAPIReady
函数。