JS. Некорректный вызов кода, после открытия новой страницы с помощью window.open
Пишу небольшое расширение в tampermonkey. Есть 2 кнопки. Первая добавляет данные в localStorage, вторая выводит их на экран в новой вкладке.
Решил я сделать автоматическое обновлении, чтобы при добавлении данных, они обновлялись в открытой вкладке. Повесил addEventListener на кнопку и все нормально, при добавлении данных из любого окна, они автоматически обновляются. НО, все ломается, если закрыть окно в котором была нажата кнопка для показа данных.
Почему при закрытии вкладки на которой была нажата кнопка все ломается? И можно ли это исправить?
showList.addEventListener('click', function () {
let itemsArray = JSON.parse(localStorage.getItem('items'));
let newWidnow = window.open();
newWidnow.document.write(output.join("")); // Вывод массива
newWidnow.document.close();
newWidnow.addEventListener('load', function () {
window.addEventListener('storage', () => {
let linksInStorage = JSON.parse(localStorage.getItem('items-later'));
newWidnow.document.body.innerHTML = linksInStorage.join("");
});
}, true);
});