4

我正在制作(或尝试制作)一个 chrome 插件,当进入 youtube 页面时,它会自动关注视频对象。

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

这是我的代码。

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

我似乎无法专注于 movie_player 对象。我尝试了一个计时器循环并使用了 onload。它一直专注于身体元素。

我知道jQuery可以做到这一点没问题。但是因为任务太简单了,只需要在chrome中工作,我觉得jQ有点过头了。

4

1 回答 1

1

我只需要解决同样的问题。解决方法是先设置tabIndex。默认情况下,插件的索引为 -1;

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

这适用于 Chrome 和 FireFox,我认为它仍然适用于 IE(但到目前为止尚未测试)。

于 2013-04-03T17:09:10.937 回答