Здравствуйте. (Гугл облазила, но ничего дельного не нашла). Интересует такой вопрос: можно ли как-то отловить изменения в localStorage по определенному ключу в текущей вкладке. Находила, что можно только сообщать об изменениях соседним доменным вкладкам, но мне так не подходит. А цель вопроса: необходимо при изменении хранилища вытаскивать информацию с ключа и записать ее в базу.
Пробовала делать как-то так, но никакого результата при изменении хранилища не увидела. Скрипт добавляла в head.
window.addEventListener('storage', function(e) {
console.log(e.key);
});
я думаю что это ужасное решение, но оно работает, возможно оно подтолкнет Вас к более удачному.
к сожалению мне пока ничего лучше в голову не пришло.
https://jsfiddle.net/fe0fjemu/
setTimeout(() => localStorage.setItem('test', JSON.stringify('отвратитльный пример')), 1000);
setTimeout(() => localStorage.setItem('test', JSON.stringify('плохой код')), 5000);
setTimeout(() => localStorage.setItem('test', JSON.stringify('плохой код')), 8000);
let complexObject = {
foo: [1, 2, 4, [12, 45], {bar: 1}],
baz: {
bon: {
test: 'qwerty'
}
}
};
let complexObject2 = {
foo: [1, 2, 4, [12, 45], {bar: 1}],
baz: {
bon: {
test: 'qwert'
}
}
};
setTimeout(() => localStorage.setItem('test', JSON.stringify(complexObject)), 15000);
setTimeout(() => localStorage.setItem('test', JSON.stringify(complexObject2)), 18000);
let storeValue = '';
const storageListner = setInterval(() => {
let newValue = localStorage.getItem('test');
if (localStorage.getItem('test') && storeValue !== newValue) {
storeValue = newValue;
console.log(storeValue);
}
}, 1000);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как записать такое условие в Javascript ? Если 10 больше 5 , но меньше 20 , то
Есть страница в коопсети, в которой выполняется следующий код:
Есть страницаНа ней скрытый iframe, в котором выполняются определенные операции при нажатии кнопки на основной странице