Код external.js
var global = "parameter";
localStorage.setItem("param", global);
var storedValue = localStorage.getItem("param");
alert(storedValue);
Код страницы one.html
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type = "text/javascript" src = "external.js"></script>
<a href = "two.html" >2nd page</a>
Код страницы two.html
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type = "text/javascript" src = "external.js"></script>
<a href = "one.html" >1st page</a>
Я хочу получить доступ к значению переменной var storedValue на 2-й странице.
Пожалуйста, помогите мне добиться этого.
Две страницы находятся в одном домене?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Практически он у вас уже есть, просто скопируйте то, что вы сделали в опубликованном вами Javascript, в контекст второй страницы:
var storedValue = localStorage.getItem("param");
alert(storedValue);
Хотя вместо этого лучше использовать точечную нотацию:
const storedValue = localStorage.param;
alert(storedValue);
Страница 1 Javascript:
const global = "parameter";
localStorage.setItem("param", global);
Страница 2 Javascript:
const storedValue = localStorage.getItem("param");
alert(storedValue);
Пример:
Иди сюда https://jsfiddle.net/ag2t8r0x/
а потом иди сюда https://jsfiddle.net/ag2t8r0x/1/
и вы увидите, что данные, хранящиеся на первой странице, извлекаются на второй странице.
@Noface, почему бы и нет? Я использую только точечную нотацию и никогда не испытывал проблем
localStorage действительно постоянен (независимо от того, какую нотацию вы используете)
Да @CertainPerformance, теперь он работает. Большое спасибо, друг.
Основная ошибка вашего подхода заключается в том, что вы создаете элемент localStorage с именем "param" два раза. Так что в этом нет необходимости. Лучшее, что вы можете сделать, - это создать его на одной странице, а затем получать к нему доступ только с любой страницы. LocalStorage не зависит от страницы, поскольку сохраняется в памяти, а точнее в окнах:
%LocalAppData%\Google\Chrome\User Data\Default\Local Storage.
Лучший подход:
const global = "parameter";
localStorage.setItem("param", global); //storing the varable in memory.
который по существу создает параметр имени переменной в localStorage, а затем вы можете получить к нему доступ с той же или другой страницы как:
const storedValue = localStorage.getItem("param"); //Accessing the item
console.info(storedValue);
Спасибо, что указали на ошибку в комментариях.
localStorage - это нет, хранящийся в памяти, он хранится на жестком диске.
Нет, компьютерная память полностью отделена от дискового хранилища.
Так легко получить значение хранилища на странице two.html. Следуйте коду. Оно работает.
<body>
<a href = "one.html">1st page</a>
<script>
$(document).ready(function() {
var storedValue = localStorage.getItem("param");
alert(storedValue);
});
</script>
</body>
Вы можете найти подробности здесь.
Когда вы пытаетесь получить localStorage на второй странице, любая ошибка или undefined, что он вам показывает, только сейчас попробовал ваш код и его работа на моем конце