Google chrome Chrome扩展,在所选选项卡更新后,将焦点放在页面而不是omnibox上?

Google chrome Chrome扩展,在所选选项卡更新后,将焦点放在页面而不是omnibox上?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我创建了一个名为的扩展,它将在当前选定的选项卡上按关键字打开书签。我是 使用omnibox选择书签(chrome.omnibox.OnInpuntered), 和chrome.tabs.updateAPI以在当前选项卡中打开书签的url,方法是 在updateProperties中提供url。然而,在标签被删除之后 更新后,焦点仍然保留在omnibox中,这使得用户- 经验不如我想象的那么好。那么,有没有办法设定 关注页面,而不是omnibox 顺便说一句,我尝试使用chrome.tabs.cr

我创建了一个名为的扩展,它将在当前选定的选项卡上按关键字打开书签。我是 使用omnibox选择书签(
chrome.omnibox.OnInpuntered
), 和
chrome.tabs.update
API以在当前选项卡中打开书签的url,方法是 在
updateProperties
中提供url。然而,在标签被删除之后 更新后,焦点仍然保留在omnibox中,这使得用户- 经验不如我想象的那么好。那么,有没有办法设定 关注页面,而不是omnibox

顺便说一句,我尝试使用
chrome.tabs.create
打开一个新选项卡。这个 页面将被聚焦,而不是omnibox,这是我想要的 行为


谢谢。

使用
chrome.tabs.update(tab.id,{url:url,selected:true})
帮了我的忙。

被接受的答案在Chrome 31中不再有效。我曾希望这是一个简单的问题,
selected
属性被弃用,但替换的
突出显示的
属性也没有将焦点分配给选项卡的内容

我只能通过关闭当前选项卡,然后在其位置创建一个新选项卡,从Omnibox中窃取焦点。以下是适用于Chrome 31的代码:

chrome.tabs.getSelected(null, function(tab) {
    chrome.tabs.remove(tab.id, function() {
        chrome.tabs.create({url:url, active:true});
    });
});

虽然这当然不理想,但当前选项卡已关闭,新选项卡打开得如此之快,以至于您几乎没有注意到任何差异

Dave Teare说得对,这在当前版本的Chrome中不再有效,但是他的方法对我不起作用。在移除选项卡后,似乎没有调用chrome.tabs.create

我使用Chrome扩展iChrome,我希望在创建新选项卡时选中它,因此我安装了另一个扩展,将新选项卡重定向到iChrome。不幸的是,它使用了相同的不推荐的“selected:true”方法

据我所知,目前没有办法做到这一点,你不能让Chrome使更新的标签的输入成为焦点,也不能让它在onmibar中选择文本,所以你不能在创建新标签后就开始搜索。这就是我想到的:

chrome.tabs.create({url:url, active:true}, function(){
    chrome.tabs.remove(tab.id);
});

当然仍然不理想,当它关闭旧标签时,你可以看到一个闪光,但它可以工作。输入是集中的。

我目前也在使用此方法,但我建议复制选项卡(您可以在删除后执行此操作),而不是仅删除它,以便保留其历史记录。