2012-03-30 41 views
10

Me gustaría crear una extensión de Chrome simple que al hacer clic abra una url en una nueva pestaña del navegador. Esto es lo que tengo para el manifest.jasonCrear una extensión de Chrome para abrir un enlace en una nueva pestaña

{ 
    "name": "Sprout Social", 
    "description": "Shortcut to Sprout Social", 
    "permissions": [ 
     "tabs" 
    ], 
    "icons": { 
     "128": "128.png" 
    }, 
    "launch": { 
     "web_url": "http://www.sproutsocial.com" 
    } 
} 

Cualquier ayuda sería genial.

+0

¿De qué enlace está hablando? Un enlace en una página? ¿Un botón de acción del navegador? – abraham

Respuesta

2

creo que el método que desea definir en su esquema es

chrome.tabs.create 

chrome.browserAction.onClicked.addListener(function() { 

     chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) { 

     }); 

}); 
15

Ok, en primer lugar, manifest.json (no jason) tiene una estructura estricta, no se puede jugar con él.

https://developer.chrome.com/extensions/manifest.html

usted tiene que crear una extensión del navegador de Acción, que significa que su extensión tendrá un botón cerca del botón de la herramienta.

https://developer.chrome.com/extensions/browserAction.html

No es necesario ningún popup.html, puede omitir esa parte. Usted tiene que escribir su página de fondo, mucha gente lo nombra background.html Este archivo HTML tendrá su código, en esta forma:

<html><head><script> your script here (use as many lines as you want) </script></head>/html> 

Esta HTML no nunca se presenta.

Y el código puede ser cualquier cosa que desee, como el código en la otra respuesta:

chrome.browserAction.onClicked.addListener(function() { 
    chrome.tabs.create({'url': "http://www.sproutsocial.com"}); 
}); 

y eso es todo.

+0

+1 y gracias ... ¿Cómo cargar la página en la pestaña actual? – RajeshKdev

+3

RJK, prueba chrome.tabs.update ({url: 'http: //your.url.com'}); –

+2

YoArgentino está funcionando. Gracias de nuevo. :) – RajeshKdev

5

Solución más simple, no necesita HTML.

Añadir esto a manifest.json

"browser_action": { 
    "default_icon": "images/icon38.png", 
    "default_title": "Your title" 
}, 
"background": { 
    "scripts": ["background.js"], 
    "persistent": false 
} 

Crear las background.js archivo, con este código:

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.create({ url: "http://www.yoursite.com" }); 
}); 

Nota: No agrego "permissions": ["tabs"] en manifest.json ya que agrega la Advertencia de permiso: "Lea su historial de navegación" y puede ser confuso para el usuario. La extensión todavía funciona.

Cuestiones relacionadas