如何将焦点集中在YouTube视频播放器对象上

4

我正在制作(或尝试制作)一个Chrome插件,当进入YouTube页面时,自动聚焦于视频对象。

这样做的原因是我喜欢使用空格键来暂停视频。然而,当我们进入YouTube视频页面时,它会聚焦于页面主体。如果你此时按下空格键,它只会向下滚动页面。

以下是我的代码:

var mp = document.getElementById("movie_player");
setInterval(test,2000);
function test(){
    mp.focus();
    console.log(document.activeElement);
}
onload = mp.focus();

我似乎无法将注意力集中在 movie_player 对象上。我尝试过使用计时器循环和 onload,但它始终会集中在 body 元素上。

我知道 jQuery 可以轻松完成这个任务。但因为任务非常简单,只需要在 Chrome 中正常工作,所以我觉得 jQ 太过复杂了。


你最终做出来了吗?我想要它。 - gsgx
1个回答

1

我刚刚也遇到了同样的问题。解决方法是首先设置tabIndex。默认情况下,插件的索引为-1;

function focusMyFlash(name){
    var t=document[name]||window[name];
    if(t){
        t.tabIndex=0;
        t.focus();
    }
}

这在Chrome和FireFox中可行,我认为它仍然适用于IE(但尚未测试)。

戴夫,请你提供一个例子。我无法实现这个解决方案。 - hexagonest

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接