防止window.open聚焦

Nic*_*rdu 10 javascript google-chrome google-chrome-extension

我想使用window.open()在Google Chrome的新标签页中打开一个页面,但我不希望该窗口在打开后获得焦点,而是留在后台.

这可能吗?它只需要在Google Chrome上运行.它还可以使用Google Chrome扩展程序API.

谢谢

ser*_*erg 10

正确的方法是使用扩展API:

chrome.tabs.create({url: "http://...", selected: false});
Run Code Online (Sandbox Code Playgroud)

代码应放在后台页面中.如果您在内容脚本中需要它,您可以将消息传递到后台页面,如下所示:

//content script
chrome.runtime.sendMessage({link: link});

//background page
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    if(message.link) {
        chrome.tabs.create({url: link, selected: false});
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 嘿,有什么通用的方法可以做到以上所有操作,从而使它适用于所有浏览器吗?对焦功能对我不起作用 (2认同)