Когда Пиро вдохновил меня сначала активировать вкладку и изменить фокус окна, я попробовал две части кода ниже. Тем не менее, в обеих из них активация вкладок не могла идти в ногу с изменением фокуса windows и приводила к одному и тому же глюковому ощущению.
browser.tabs.update(tabId,{active:true})
browser.windows.update(windowId, {focused:true})
browser.tabs.update(tabId,{active:true}).then(() =>
browser.windows.update(windowId, {focused:true})
)
Наконец, я только что реализовал следующее, что немного спит перед изменением фокус окна. С оптимизацией продолжительности сна до 50 мс я получил плавный опыт.
browser.tabs.update(audibleTabs[0].id,{active:true})
setTimeout(() =>
browser.windows.update(window.id, {focused:true})
, 50);
Chrome Редактировать: я пытался запустить свое расширение на Chrome и испытал, что 50 мс сна не достаточно для Chrome. Таким образом, я оптимизировал время сна до 150 мс для Chrome.