2012-04-09 6 views
2

Angenommen, Sie haben Chrome gerade geöffnet. Es ist bereits ein "Neuer Tab" geöffnet. Meine Erweiterung hat eine Schaltfläche, die, wenn der Benutzer sie drückt, ich eine neue Registerkarte erstellen, um meine Inhalte anzuzeigen (index.html).Chrome API: Wie verwende ich den aktuellen leeren "Neuen Tab" anstatt einen neuen zu erstellen?

Jetzt funktioniert alles gut, aber das Problem ist, dass "New Tab" ist nutzlos. Ich verwende den folgenden Aufruf, um eine neue Registerkarte zu erstellen:

chrome.tabs.create({ 
    "url":"index.html" 
}); 

update() funktioniert nicht (nichts passiert).

chrome.tabs.update({ 
    "url":"index.html" 
}); 

Wenn ich die aktuellen Tab überprüfen, heißt es „undefiniert“:

chrome.tabs.getCurrent(function(t){console.log(t.id)}) 

Wie kann ich den aktuellen leeren Tab verwenden, anstatt einen neuen zu erstellen? Ich sehe einige andere Erweiterungen (nämlich Google Mail Checker) haben das gleiche Problem.

Antwort

2

Offenbar erlaubt die Tabs-API nicht, führende optionale Argumente wegzulassen, wie z. B. jQuery tut. Um die aktuellen Registerkarte zu ändern, müssen Sie explictly null als erstes Argument enthalten (tabId) zu update():

chrome.tabs.update(null, { 
    "url":"index.html" 
}); 
+0

, die interessant ist. Ich werde es versuchen, sobald ich kann und werde mit Feedback zurückkommen. – AlexStack

Verwandte Themen