#javascript #google-chrome-extension
#javascript #google-chrome-extension
Вопрос:
Я создаю небольшое расширение Chrome, и мне трудно понять, что я должен сделать, чтобы проверить, свернуто ли окно или нет.
Пока я использую chrome.tabs.OnActivated и chrome.tabs.запрос вместе, чтобы прослушать изменение вкладки, и он работает, как ожидалось, но теперь моя проблема в том, что мне также нужно знать, когда окно браузера свернуто.
chrome.tabs.onActivated.addListener(function() {
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
//do something
});
});
Я также посмотрел на onFocusChanged, но, похоже, это работает только с несколькими окнами браузера.
Как проверить, что окно браузера свернуто?
Комментарии:
1. Какое это имеет отношение к C ? Или что-нибудь в названии?
2. Заголовок предпочтительно должен представлять собой краткое изложение текста вопроса. В нынешнем виде они кажутся очень несвязанными. Как сказал Xan, не могли бы вы сообщить нам, актуален ли вопрос в названии?
3. извините, я ввел заголовок другого вопроса, который я не отправлял, я изменил заголовок, чтобы он соответствовал вопросу.
Ответ №1:
Это просто, если у вас есть идентификатор окна, затем вы можете получить объект Window:
chrome.windows.get(windowId, function(win){
if(window.state == "minimized") {
/* ... */
}
});
Если вам нужно текущее окно, используйте getCurrent
вместо:
chrome.windows.getCurrent(function(win){
if(window.state == "minimized") {
/* ... */
}
});
Комментарии:
1. Как мне добавить прослушиватель для изменения состояния окна?
2. К сожалению, я не думаю, что есть событие.
Ответ №2:
это код использования, который должен background.js файл :
//check for fcuse tab
chrome.windows.getCurrent(function(win){
targetWindow = win;
});
alert(targetWindow.state=='minimized');
alert(targetWindow.focused);
пример кода:
в content.js файл:
chrome.runtime.sendMessage({
url: window.location.href,
name: `${lastmessage.name}`,
message: `${lastmessage.body}`
});
и этот код в background.js файл:
var targetWindow = null;
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
console.log(request.message);
//check for fcuse tab
chrome.windows.getCurrent(function(win){
targetWindow = win;
});
alert(targetWindow.state=='minimized');
alert(targetWindow.focused);
//continu if
if(targetWindow.focused != false || targetWindow.state!='minimized')
return 0;
})
Ссылка: https://developer.chrome.com/docs/extensions/reference/tabs/#type-TabStatus