Extensión de Chrome: abre una nueva pestaña sin perder el enfoque emergente

Tengo una lista simple de enlaces de investigación en una extensión de Chrome:

Research Link 1 Research Link 2 Research Link 3 

En cualquier página web, podría presionar ctrl + clic en los tres enlaces, abriendo nuevas tabs en el fondo. Sin embargo, este no parece ser el caso con una ventana emergente de extensión de Chrome. Si presiona + ctrl en un enlace, la extensión cierra la ventana emergente, lo que le impide hacer clic en más de un enlace en cualquier momento.

He intentado un enfoque de chrome.tabs.create en clic que se describe en varias otras publicaciones, pero parece similar a solo hacer clic en target = “_ blank” ya que solo abre una nueva pestaña con el foco.

 chrome.tabs.create({url: 'http://www.google.com'}); 

¿Hay alguna forma de abrir una nueva pestaña sin foco (ctrl + clic), mientras se permite que la ventana emergente de la extensión permanezca visible en la pestaña actual para que el usuario pueda hacer clic en un segundo, tercer o cuarto enlace? De esa manera, el usuario no tiene que volver a ejecutar la extensión varias veces, lo que lleva tiempo, ya que tiene que autenticarse y consultar los datos nuevamente.

Sí, hay una opción para create :

 chrome.tabs.create({url: 'http://www.google.com', active: false}); 

Lo estoy usando en una de mis extensiones exactamente como lo describiste.

Esto es lo que terminé haciendo para permitir un ctrl + clic adecuado (abrir pestaña en una nueva ventana de fondo) en una extensión de Chrome – usa jQuery.

 Research Link 1 Research Link 2 Research Link 3 

Utilicé la etiqueta para mantener el estilo de hipervínculo predeterminado (color, subrayado, etc.) pero eliminé el href. Como no hay href, es necesario definir el estilo del cursor en el elemento o clase.

Variable global:

 var tabplacement = 0; 

La tabulación se realizó para simular la forma en que Chrome abre las tabs, incrementando desde la última creación.

 $(function () { $('.ctrllink').on('click', function (event) { var ctrlpressed = (event.ctrlKey || event.metaKey); var url = $(this).attr('url'); chrome.tabs.getSelected(null, function (tab) { tabplacement += 1; var index = tab.index + tabplacement; chrome.tabs.create({'url': url, active: !ctrlpressed, 'index': index}); }); }); }); 

Incluye la MetaKey para manejar el Comando Mac ⌘