Допустим открыта страница в браузере mysite.com/page-1.php в которой есть элемент:
<span id="test-1"></span>
Далее в новой я открываю страницу 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")
Используйте событие storage
:
Page 1:
window.addEventListener('storage', e => console.info('Changed'))
Page 2:
localStorage.setItem('name', 42)
При изменении хранилища, на всех вкладаках с этим хранилищем произойдёт событие, где можно проверить имя и изменить текст.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как создать элемент с помощью ``- такой строки чтобы передать переменные, при createElement создается просто пустой div