Я сделал расширение, которое запоминает предыдущую вкладку и кнопку нажимает кнопки между текущей вкладкой и предыдущей вкладкой. Теперь я хочу расширить это, чтобы также помнить предыдущую предыдущую вкладку. Это позволит переключаться между двумя вкладками после закрытия вкладки . Однако я борюсь с логикой кода. Код для переключения между текущим и предыдущим вкладки:Расширение Chrome: как запомнить предыдущую предыдущую вкладку?
var previousTab;
var currentTab;
// Switch tab on button click
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.update(previousTab, {selected: true});
});
// Update variables on tab change
chrome.tabs.onSelectionChanged.addListener(function(tab) {
if (previousTab == null) {
previousTab = tab;
}
if (currentTab == null) {
currentTab = tab;
}
else {
previousTab = currentTab;
currentTab = tab;
}
});
Теперь код для переключения между двумя закладками когда текущая вкладка закрывается:
var previousTab;
var previousPreviousTab;
var currentTab;
// Switch tab on button click
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.update(previousTab, {selected: true});
});
// Update variables on tab change
chrome.tabs.onSelectionChanged.addListener(function(tab) {
if (previousTab == null) {
previousTab = tab;
}
if (currentTab == null) {
currentTab = tab;
}
if (previousPreviousTab == null) {
previousPreviousTab = tab;
}
else {
previousPreviousTab = previousTab;
previousTab = currentTab;
currentTab = tab;
}
});
// Update variables on tab removal
chrome.tabs.onRemoved.addListener(function(tab) {
previousTab = previousPreviousTab;
});
Кое-что о моей логике должно быть неправильным. Когда я открываю две новые вкладки, а затем закрыть последнюю один, нажав на кнопку переключения вызывает ошибку tabs.update: No tab with id: 698.
Спасибо. Хотя в будущем это может быть здорово переключиться между всеми вкладками, я хочу только переключиться между двумя вкладками на данный момент. – orschiro