Я открываю магазин Chrome в полноэкранном всплывающем окне.
onclick="window.open('https://chrome.google.com/webstore/detail...', 'targetWindow', 'width=' + window.outerWidth + ',height=window.outerHeight,top=' + window.screenTop + ',left=' + window.screenLeft);
После того, как пользователь установил расширение, фокус возвращается на главную вкладку, и когда мой фоновый скрипт расширения Chrome запускает следующий код:
chrome.runtime.onInstalled.addListener(function (details) {
if (details.reason == "install") {
thankyou();
}
});
function thankyou(){
chrome.tabs.update({
url: 'https://mythankyoupage.com',
active: true
});
}
Проблема в том, что страница Спасибо загружена на главной вкладке, а НЕ в исходном всплывающем окне, которое теряется в фоновом режиме.
Как я могу убедиться, что спасибостраница загружена во всплывающем окне, которое использовалось для установки из магазина Chrome?
Я прочитал https://developer.chrome.com/extensions/tabs, но не смог понять, как настроить таргетинг на мое всплывающее окно
Спасибо за вашеРуководство
ОБНОВЛЕНИЕ 1:
Следуя хорошим советам из комментариев, я попробовал это: (Я пробовал без "windowType": "popup" тоже)
function thankyou(){
chrome.tabs.query({url: "https://chrome.google.com/webstore/detail/...", "windowType":"popup"}, function(results) {
chrome.tabs.update({
url: 'https://thankyou.com'
})
}
тоже попробовал:
function(results) { chrome.tabs.update(tabs[0].id, { url: 'thankyou.com', active: true }) }
, но все они привели к обновлению главного окна, а не всплывающего окна. Я удаляю каждый раз расширение (а не просто обновляю).