JavaScript
Javascript. local storage. Дайте ссылку, где почитать о нем или сами объясните.
Дайте, пожалуйста ссылку, где в интернете почитать, как передавать значения переменных с одной страницы на другую, при переходе между ними. Или сами объясните.
на мой взгляд нормало написано в документации, она не только на мозиле удет работать
developer.mozilla.org/ru/docs/Web/API/Window/localStorage
developer.mozilla.org/ru/docs/Web/API/Window/localStorage
LocalStorage не для того чтобы что-то сохранять "с одной страницы на другую".
Вот например хотим мы сохранить в параграф то что ввели в текстовую форму
<input type="text" id="text">
<input type="button" id="but" value="поместить в localStorage">
<p id="p"></p>
<script type="text/javascript">
but.onclick = function () {
var locStor = text.value;
localStorage.setItem('textKey', locStor);
p.innerHTML = locStor;
}
window.onload = function () {
var locVal = localStorage.getItem('textKey');
p.innerHTML = locVal;
}
>>>
В параграфе при каждом новом открытии браузера будет выводиться то что мы когда-то ввели в текстовую форму
Вот например хотим мы сохранить в параграф то что ввели в текстовую форму
<input type="text" id="text">
<input type="button" id="but" value="поместить в localStorage">
<p id="p"></p>
<script type="text/javascript">
but.onclick = function () {
var locStor = text.value;
localStorage.setItem('textKey', locStor);
p.innerHTML = locStor;
}
window.onload = function () {
var locVal = localStorage.getItem('textKey');
p.innerHTML = locVal;
}
>>>
В параграфе при каждом новом открытии браузера будет выводиться то что мы когда-то ввели в текстовую форму
Для твоей задачи (*как передавать значения переменных с одной страницы на другую, при переходе между ними), можно и нужно использовать Broadcast Channel API. Он как раз создан для "передачи сообщения с текущей вкладки на другие".
Пример:
// broadcastSend.js
const channel = new BroadcastChannel('channel-name')
channel.postMessage('Hello, other tab!') // поддерживается любой тип данных
// broadcastGet.js
const channel = new BroadcastChannel('channel-name')
channel.addEventListener('message', d => {
console.log('Some message by BroadcastChannel was received: ', d)
})
А посылать запрос именно тогда, когда открывается другая вкладка, можно с помощью Visibility API. После ухода пользователя со страницы у тебя нет возможности узнать, какую вкладку он открыл. Это было бы нарушением политики безопасности. Однако ты можешь сделать следующее: когда пользователь уходит с текущей вкладки, с помощью Visibility API и broadcast либо localstorage (как тебе выше уже описали) давай знать другим вкладкам, что пользователь ушёл с прошлой, при этом записывай timestamp этого действия. Далее с помощью Visibility API ты реагируешь на то, когда пользователь возвращается на другую (либо ту же) вкладку и смотришь этот timestamp. Таким образом можно понять, он зашёл с прошлой вкладки на твой сайт или нет.
Если я правильно понял задачу, то решить можно описанным выше способом. Если неправильно, то напиши, что именно хочешь делать.
Пример:
// broadcastSend.js
const channel = new BroadcastChannel('channel-name')
channel.postMessage('Hello, other tab!') // поддерживается любой тип данных
// broadcastGet.js
const channel = new BroadcastChannel('channel-name')
channel.addEventListener('message', d => {
console.log('Some message by BroadcastChannel was received: ', d)
})
А посылать запрос именно тогда, когда открывается другая вкладка, можно с помощью Visibility API. После ухода пользователя со страницы у тебя нет возможности узнать, какую вкладку он открыл. Это было бы нарушением политики безопасности. Однако ты можешь сделать следующее: когда пользователь уходит с текущей вкладки, с помощью Visibility API и broadcast либо localstorage (как тебе выше уже описали) давай знать другим вкладкам, что пользователь ушёл с прошлой, при этом записывай timestamp этого действия. Далее с помощью Visibility API ты реагируешь на то, когда пользователь возвращается на другую (либо ту же) вкладку и смотришь этот timestamp. Таким образом можно понять, он зашёл с прошлой вкладки на твой сайт или нет.
Если я правильно понял задачу, то решить можно описанным выше способом. Если неправильно, то напиши, что именно хочешь делать.
Похожие вопросы
- Объясните мне, пожалуйста, что это за аргументы функции в javascript ( function(arg1, arg2, ..) ).
- Пожалуйста объясните человеческим языком где и как используется значение undefined и null в JavaScript ?
- Есть ли аналоги JavaScript?
- С чего начать учить JavaScript?
- Подскажите книги для изучения javascript? Хочу начать изучать веб программирование javascript подойтет для начала?
- Зачем нужен prototype в JavaScript?
- Тяжело ли выучить JavaScript?
- Как создать квадрат через JavaScript?
- Почему Javascript вдруг стал таким востребованным и более универсальным решением? Что в нем такого особенного?
- для чего нужен javascript? можно ли на нем делать интернет магазины, рулетки и т. д