17

chrometabIdが開いているすべてのウィンドウで一意であるかどうかを知る必要があります。シークレットモードと正常。すべてのウィンドウで開いているタブのいずれも同じtabIdを持つことが保証されていますか?

ドキュメントを検索しましたが、信頼できる答えが見つかりませんでした。

4

1 に答える 1

22

はい、タブIDはブラウザセッション内で一意です。これは、次のドキュメントにも記載されていますchrome.tabs

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

それでも信じられない場合はtabs、シークレットウィンドウで実行する権限と権限を持つ拡張機能を作成してください。次に、バックグラウンドページで次のコードを実行します。

// 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
}

ログに記録される数は増加しています(2つの数が小さすぎるサンプルと見なす場合は、chrome.windows.create信じられるまで、ループでメソッドを実行してください)。

于 2012-07-26T09:00:14.433 に答える