使用Chrome API在后台打开新窗口

时间:2017-01-05 14:22:19

标签: javascript google-chrome google-chrome-extension window

我有一个内容脚本,它向我的扩展程序的background.js发送基本消息(链接)。

我的问题是如何在背景中使用chrome.windows.create打开该链接,而不会获得焦点,同时当我最小化chrome并打开另一个链接时我不希望chrome再次获得焦点。

//Opens received link //background.js
chrome.runtime.onMessage.addListener( function(message, sender, sendResponse){
    chrome.windows.create({
        url: message.link
    });
});

编辑: 我已将此添加到我的代码中以创建新窗口并且它没有切换到它但我的问题是,有什么办法可以在后台发生吗?没有任何窗口出现,甚至没有最小化?

chrome.windows.create({
    url: message.link,
    type: "normal",
    state: "minimized"
});

1 个答案:

答案 0 :(得分:0)

chrome.windows.getCurrent(function(winCurrent){
        chrome.windows.create({url:message.link}, function(win){
            chrome.windows.update(winCurrent.id, {focused: true});
        });
    });

使用getCurrent获取当前窗口,创建一个新窗口并将焦点移回上一个窗口(winCurrent)。这个过程很快,所以观众感觉不多。