Ответ 1
Вы можете попробовать это. Подключитесь к своей фоновой странице chrome.runtime.connect (или chrome.extension.connect
до Chrome 26) и port.onDisconnect
будет запущена на вашей фоновой странице, когда всплывающее окно закрыто.
Я уже пробовал window.unload, window.beforeunload и т.д. Я ищу способ уведомлять мою фоновую страницу после закрытия всплывающего окна.
Вы можете попробовать это. Подключитесь к своей фоновой странице chrome.runtime.connect (или chrome.extension.connect
до Chrome 26) и port.onDisconnect
будет запущена на вашей фоновой странице, когда всплывающее окно закрыто.
Вероятно, хакерский путь, но на всплывающей странице вы можете прослушать
window.onblur = function(){}
и отправьте сообщение на активную вкладку.
В настоящее время нет способа выяснить, когда всплывающее окно действий браузера было
закрывается, так как window.unonload
запускается сразу после завершения всплывающего окна
загрузка, а не когда она закрыта. Для этого есть ошибка crbug.com/31262.
Три доступных обходных пути хорошо описаны здесь. Они включают в себя трюк port.onDisconnect
и периодический опрос chrome.extension.getViews()
из всплывающей или фоновой страницы.
Наконец нашел решение. Введите код ниже background.js
/eventPage.js
:
chrome.windows.onFocusChanged.addListener(function(window) {
//handle close event
});