Вы можете сделать это с помощью API chrome.tabs
, вот пример:
const orgURL = '<URL>';
chrome.tabs.create({url: orgURL}, createdTab => {
function updateListener(tabId, tab) => {
if (tabId == createdTab.id && tab.url !== orgURL) {
const redirectURL = tab.url;
// Do something with the redirect URL
chrome.tabs.remove(tabId); // Close the tab.
chrome.tabs.onUpdated.removeListener(updateListener);
}
}
chrome.tabs.onUpdated.addListener(updateListener);
});
Не забудьте добавить разрешение chrome.tabs
в манифест.
Если вы действительно хотите сделать это, используя новое окно вместо новой вкладки в текущем окне, взгляните на chrome.windows
API.
Здесьпример использования chrome.windows
API:
const orgURL = "<URL>"
chrome.windows.create({ url: orgURL }, win => {
if (win.tabs.length) {
const firstTab = window.tabs[0];
if (firstTab.url !== orgURL) { // the redirect already happen
const redirectURL = window.tabs[0].url;
// Do something with the redirect URL
} else {// the redirect hasn't happen yet, listen for tab changes.
function updateListener(tabId, tab) => {
if (tabId == firstTab.id && tab.url !== orgURL) {
const redirectURL = tab.url;
// Do something with the redirect URL
chrome.windows.remove(win.id); // Close the window.
chrome.tabs.onUpdated.removeListener(updateListener);
}
}
chrome.tabs.onUpdated.addListener(updateListener);
}
}
})