2012-03-30 15 views
10

Chciałbym utworzyć proste rozszerzenie chrome, które po kliknięciu otwiera adres URL w nowej karcie przeglądarki. To jest to, co mam dla manifest.jasonTworzenie rozszerzenia przeglądarki Chrome w celu otwarcia łącza w nowej karcie

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

Każda pomoc będzie świetna.

+0

O czym ty mówisz? Link na stronie? Przycisk browserAction? – abraham

Odpowiedz

2

Myślę, że metoda chcesz zdefiniować w schemacie jest

chrome.tabs.create 

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

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

     }); 

}); 
15

Ok, przede wszystkim manifest.json (nie Jason) ma ścisłą strukturę, nie można z nim bałagan.

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

Musisz utworzyć rozszerzenie działania przeglądarki, która oznacza, że ​​rozszerzenie będzie mieć przycisk obok przycisku narzędzia.

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

Nie potrzeba żadnego popup.html, można pominąć tę część. Musisz napisać swoją stronę tła, wiele osób nazwać to background.html Ten plik HTML będzie mieć swój kod w tej postaci:

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

Ta HTML nie będzie nigdy wyświetlane.

I kod może być cokolwiek chcesz, jak kod w drugiej odpowiedzi:

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

I to wszystko.

+0

+1 i dziękuję ... Jak załadować stronę w bieżącej zakładce ??? – RajeshKdev

+3

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

+2

YoArgentino jego działanie. Dzięki jeszcze raz. :) – RajeshKdev

5

Prostsze rozwiązanie, nie potrzebujesz HTML.

Dodaj to do manifest.json

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

utworzyć plik background.js, z tym kodem:

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

Uwaga: Nie dodawać "permissions": ["tabs"] w manifest.json ponieważ dodaje Ostrzeżenie ozwolenia: "Przeczytaj historię przeglądania" i może być mylące dla użytkownika. Rozszerzenie nadal działa.

Powiązane problemy