2010-07-06 9 views

Antwort

74

Dies gilt nicht für neuere Chrome-Apps.

Neuere Chrom-Anwendungen mit manifest_version: 2 erfordert die Tabs geöffnet werden, wie:


chrome.browserAction.onClicked.addListener(function(activeTab) 
{ 
    var newURL = "http://www.youtube.com/watch?v=oHg5SJYRHA0"; 
    chrome.tabs.create({ url: newURL }); 
}); 

+0

Dies ist die bessere, aktuelle und genauere Antwort, FYI –

+5

welche Datei muss ich diesen Code platzieren .. ist es Haupt. js oder popup.html ??? –

+2

@DehanWjiesekara Setzen Sie es z.B. background.js und habe '" background ": {" scripts ": [" background.js "]}} in Ihrem Manifest. – simonp

49

Nun, in der extensions docs, es heißt in manifest, müssten Sie "Tabs" als seine Erlaubnis enthalten. Gleiche Art und Weise erklären sie die Hallo Welt Anwendung:

Manifest-Datei:

{ 
    "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" 
    ], 
} 

Im background page, Sie hören das Mausklick-Ereignis auf der Browser-Aktion.

Wie Sie oben bemerkt haben, werden Sie sehen, dass ich die Frage verwendet habe, die Sie in dem anderen Beitrag gesehen haben. Beachten Sie, dies wird nicht getestet, aber ich glaube, es sollte funktionieren.

+1

Beachten Sie, dass das Hinzufügen von "Tabs" -Berechtigungen beim Installieren eine Warnmeldung "Browserverlauf anzeigen" anzeigt. Die Dokumente sagen, dass die meisten "chrome.tabs" diese Berechtigung nicht benötigen https://developer.chrome.com/extensions/tabs Da ich nicht genau darauf geachtet habe, habe ich vor kurzem Hunderte von Nutzern von https:/verloren /chrome.google.com/webstore/detail/inbox-by-gmail-checker/mpjmeeikbbgccbjkbfabocnjcaejdpmj – Joe

4

chrome.tabs.create die Erlaubnis "Tabs" benötigen.

Einfach mit window.open in der Erweiterung ohne Notwendigkeit einer Genehmigung. und der Code ist kürzer. Ich schlage diese Lösung vor.

window.open(url,'_blank'); 
+0

Ich habe den gleichen Code in meiner Erweiterung verwendet, um beim Klicken auf die Benachrichtigungsschaltfläche den neuen Tab zu öffnen. aber jetzt nach 3 monaten bekomme ich einen aw..snap page error wenn ich auf diesen button klicke. Hast du eine Idee, warum das passiert ist? P. s: es funktioniert gut, wenn ich eine andere URL wie: www.google.com, aber es funktioniert nicht mit meiner Website. – Sona

+0

Das scheint für mich zu funktionieren (obwohl ich es nur in einer lokalen entbündelten Nebenstelle versucht habe, an der ich gerade arbeite). – simonp

Verwandte Themen