Comment puis-je créer une extension pour Chrome qui ajoute une icône à la barre d'outils, et lorsque vous cliquez dessus, elle ouvre un nouvel onglet avec une page Web locale (par exemple: f.html)?
J'ai vu cette question , mais cela n'explique pas vraiment ce que je dois ajouter dans le fichier manifeste ...
Ce n'est pas vrai pour les nouvelles applications chrome.
Plus récent chrome ayant manifest_version: 2 nécessitent que les onglets soient ouverts comme suit:
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://www.youtube.com/watch?v=oHg5SJYRHA0";
chrome.tabs.create({ url: newURL });
});
Eh bien, dans le extensions docs , il indique dans manifest , vous devez inclure "tabs" comme autorisation. De la même manière, ils expliquent l'application Hello World:
Fichier manifeste:
{
"name": "My Extension",
"version": "1.0",
"description": "Opens up a local webpage",
"icons": { "128": "icon_128.png" },
"background_page": "bg.html",
"browser_action": {
"default_title": "",
"default_icon": "icon_19.png"
},
"permissions": [
"tabs"
],
}
Dans la page d'arrière-plan , vous écoutez l'événement de clic de souris sur l'action du navigateur.
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('f.html')}, function(tab) {
// Tab opened.
});
});
Comme vous l'avez remarqué ci-dessus, vous verrez que j'ai utilisé la question que vous avez vue dans l'autre post. Remarque, cela n'est pas testé, mais je pense que cela devrait fonctionner.
chrome.tabs.create a besoin de l'autorisation de "tabs".
Il suffit d'utiliser window.open dans l'extension sans avoir besoin d'aucune autorisation. et le code est plus court. Je suggère cette solution.
window.open(url,'_blank');