2011-01-06 17 views
5

Estoy escribiendo una extensión de Chrome. Como parte de la extensión, deseo obtener la URL de la pestaña desde la que se invocó la extensión. ¿Cuál es la diferencia entre usar:Extensiones de pestañas de Chrome: getCurrent vs. getSelected?

chrome.tabs.getSelected(null, function(tab) { var myTabUrl = tab.url; }); 

y

chrome.tabs.getCurrent(function(tab) { var myTabUrl = tab.url; }); 

?

Respuesta

15

getCurrent debería ser lo que necesita, getSelected es una pestaña que actualmente está seleccionada en un navegador. Cuando podrían ser diferentes, tal vez su extensión ejecuta cronook en pestañas de fondo, por lo que esa pestaña no podría ser seleccionada actualmente por un usuario.

Ok, aparentemente lo tengo todo mal. getCurrent se debe usar solo dentro de las páginas de la extensión que tienen una pestaña asociada a ellas (options.html, por ejemplo), no se puede usar desde un fondo o una página emergente. getSelected es una pestaña que actualmente está seleccionada en un navegador.

En cuanto a su pregunta original, probablemente no necesite ninguno de esos dos. Si está enviando una solicitud de un script de contenido a una página de fondo, la pestaña a partir de la cual se realiza esta solicitud se pasa como un parámetro sender.

+3

respuesta obsoleta hoy en día, ver a continuación – Aerovistae

19

Método chrome.tabs.getSelected ha quedado obsoleto. Debería usar ahora chrome.tabs.query.

No puede encontrar el documento oficial para el método obsoleto chrome.tabs.getSelected. Aquí está el documento para el método chrome.tabs.query.

Cuestiones relacionadas