2016-05-29 5 views
1
chrome.tabs.getCurrent(function(tab){ 
    alert(tab.id); 
}); 

tab объект? Почему у него нет собственности id?Chrome, как получить идентификатор текущей вкладки?

Как я могу получить id текущей вкладки?

+0

Вы посмотрели на них? https://developer.chrome.com/extensions/tabs#method-getCurrent и https://developer.chrome.com/extensions/tabs#type-Tab –

+0

@PatrickRoberts Не могли бы вы привести мне пример? – woody

+0

Вы используете этот код из контекста расширения хром? Этот код не будет работать, если он не работает с расширением chrome с '' разрешениями: [ «вкладки» ] ' –

ответ

3

chrome.tabs.getCurrent(function(tab){ console.log(JSON.stringify(tab,null, 2)); }) дает мне следующий

{ 
    "active": true, 
    "audible": false, 
    "favIconUrl": "chrome-extension://eggkanocgddhmamlbiijnphhppkpkmkl/img/favicon.png", 
    "height": 853, 
    "highlighted": true, 
    "id": 5280, 
    "incognito": false, 
    "index": 0, 
    "mutedInfo": { 
    "muted": false 
    }, 
    "pinned": false, 
    "selected": true, 
    "status": "complete", 
    "title": "Tabs Outliner", 
    "url": "chrome-extension://eggkanocgddhmamlbiijnphhppkpkmkl/activesessionview.html?type=main&focusNodeId=5220&altFocusNodeId=5046&scrollToViewWinId=5046", 
    "width": 400, 
    "windowId": 5279 
} 

Список всех реквизита вы можете найти на https://developer.chrome.com/extensions/tabs#type-Tab --- идентификатор отмечен как дополнительный

Идентификатор вкладки. Идентификаторы вкладок уникальны в сеансе браузера. В некоторых> обстоятельствах вкладке может не присваиваться идентификатор, например, при запросе> внешних вкладок с использованием API сеансов, и в этом случае может присутствовать идентификатор сеанса. > Идентификатор вкладки также можно установить на chrome.tabs.TAB_ID_NONE для приложений и devtools> windows.

Это важно, если вы попытаетесь запустить код из консоли

Tab ID также может быть установлен в chrome.tabs.TAB_ID_NONE для приложений и Devtools> окна.

+0

Рассмотрите возможность замены вашего скриншота текстовым контентом 'JSON.stringify (tab, null, 2);' или что-то в этом роде. –

+0

@PatrickRoberts не стоит использовать репутацию для таких целей –

+0

Да, это единственный возможный метод. Я использую это следующим образом: 'chrome.tabs.query ({currentWindow: истинного, активного: истинно}, \t \t \t функции (вкладки) { \t \t \t \t chrome.tabs.update (вкладки [0] .id, {url: "link"}); \t \t \t \t \t); – user25