我正在撰写Chrome扩展程序来改变YouTube的功能。我已将代码注入到页面上,并且我试图在某些情况下触发视频的全屏。
我做了我能想到的一切,但无济于事。
双击视频:
$('video').click();
setTimeout(function() {
$('video').click();
}, 40);
但这种方式不起作用。我不确定为什么,但我认为Youtube期待一个“真正的”点击或什么?
模拟'f'按键:
var event = document.createEvent("UIEvents");
event.initUIEvent("keypress", true, true, window, 1);
event.keyCode = 70;
上面的几十种变体似乎都没有用。认为它可能是Webkit的事情。
以格式https://www.youtube.com/v/<vid-id>
格式链接到视频。但这不符合我的目的,因为我需要能够在页面加载后再次调用它。
有关如何通过Javascript加载页面后如何使Youtube全屏显示的任何想法?
答案 0 :(得分:3)
Youtube可能正在使用requestFullScreen Javascript API将视频播放器带到全屏。
根据requestFullScreen API的规范,它必须由直接用户交互触发。
这意味着除非您有用户点击的按钮或具有此类性质的按钮,否则您将无法强制播放器全屏显示。
相关SO问题:
答案 1 :(得分:2)
您可以尝试这样的事情:
var vid = $("video");
if (vid.requestFullscreen) {
vid.requestFullscreen();
} else if (vid.mozRequestFullScreen) {
vid.mozRequestFullScreen();
} else if (vid.webkitRequestFullscreen) {
vid.webkitRequestFullscreen();
}
答案 2 :(得分:1)
如果你想双击,只需使用dblclick()javascript函数。
此外,您可以尝试点击YouTube视频的全屏按钮,而不是对视频进行dblclick。