2012-07-26 10 views
12

Muszę wiedzieć, czy chrome tabId jest unikatowe we wszystkich otwartych oknach. Incognito i normalne. Czy jest zagwarantowane, że nie otwarte karty we wszystkich oknach będą miały ten sam identyfikator tabId?Jest unikalny w chrome tabId w oknach

Przeszukałem dokumentację, ale nie znalazłem żadnej wiarygodnej odpowiedzi.

+0

Zastanowię się tutaj i powiem, że biorąc pod uwagę, że możesz przeciągnąć kartę z okna do okna, to znaczy, że jest wyjątkowa. –

Odpowiedz

15

Tak, identyfikator zakładki jest unikalny w ramach sesji przeglądarki . Jest również wymienione w dokumentacji chrome.tabs:

Tab
(object)
    id (integer)
       The ID of the tab. Tab IDs are unique within a browser session.

Jeśli nadal nie wierzę w to, tworzyć rozszerzenia, które ma uprawnienia tabs oraz prawo do uruchamiania w oknie incognito. Następnie uruchom następujący kod na stronie tła:

// Create incognito window 
chrome.windows.create({incognito: true, url:'about:blank'}, showTabId); 
// Create normal window 
chrome.windows.create({incognito: false, url:'about:blank'}, showTabId); 

function showTabId(_window) { 
    console.log(_window.tabs[0].id);  // Or alert, whatever. 
    chrome.tabs.remove(_window.tabs[0].id); // Closes tab & window, user-friendly 
} 

zalogowanego numery rosną (jeśli wziąć pod uwagę dwa numery za zbyt małej próbce, należy uruchomić metodę w pętli chrome.windows.create, aż w to uwierzyć).

+0

dzięki ... naprawdę docenione – Amila

+0

Dzięki, możesz wyjaśnić, co to jest sesja też? Czy zatem powinny być konflikty z pamięcią synchronizacji przy użyciu tabId między sesją nawigatora? –

+1

@ Jean Sesja rozpoczyna się po pierwszym uruchomieniu przeglądarki i kończy się, gdy główny proces przeglądarki zostanie zamknięty. –