API видимости не работает после window.open в Chrome
Пытался использовать API видимости, но у ребенка не работает. Минимальный пример для воспроизведения:
<script>
document.onvisibilitychange = () => {
console.log(document.visibilityState);
}
if (!window.opener) {
window.open(window.location.href, '_blank');
}
</script>
После этого родительское окно по-прежнему печатает "видимый" - "скрытый", но дочернее окно печатает "скрыто" только один раз при обновлении.
Он отлично работает в последней версии браузера Opera, но не в Chrome.
Если честно, когда я пришел к этому минимальному воспроизведению, я застрял и понятия не имел, куда копать. Есть идеи, что может быть не так?
1 ответ
Я тоже наткнулся на этот вопрос. Я думаю, что эта ошибка появилась в Chrome 84. Я тестировал ее в версии 83, и она работала, как ожидалось. Текущая версия Canary-Build (версия 86) также работает.