Допустим открыта страница в браузере mysite.com/page-1.php в которой есть элемент:
Далее в новой я открываю страницу mysite.com/page-2.php в которой есть js команда которая должна сменить текст в элементе test-1 в первой вкладке - mysite.com/page-1.php
Возможно ли как то выполнить данную задачу средствами js/jquery?
Ответ
Предложенный вариант с storage работает только на одной и той де странице, то есть если открыть в нескольких табах page-1.php то предложенный вариант с window.addEventListener('storage', e => console.info('Changed')) сработает, иначе предлагаю сделать след. образом, как из ответа https://ru.stackoverflow.com/a/729727/243667
page-1.php
var storageParam = "name";
var defaultStorageVal = localStorage.getItem(storageParam);
setInterval(function() {
var val = localStorage.getItem(storageParam);
if (val != defaultStorageVal) {
document.getElementById("test-1").innerHTML=val;
defaultStorageVal = val;
// если alert один раз только должен сработать, убейте интервал
}
}, 500); // тут уже сами смотрите
page-2.php
localStorage.setItem("name", "text")
Комментариев нет:
Отправить комментарий