JavaScript Локальное хранилище не показывает правильное значение в другом файле - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть три файла

  1. main.js
  2. index1.html
  3. index2.html

Я хочу получить длина числа делений от index2.html и сохраните его в main.js, чтобы я мог использовать его с index1.html.

Когда I console.log показывает правильное значение, которое составляет 24 в index2.html, но значение в index1.html равно 0 .

Я связал main.js с обоими HTML файлами

var popC = $('body > div.pro-pop').length;
localStorage.setItem('popC', popC);
var unco = parseFloat(localStorage.getItem('popC'));
console.log('unco:', unco);

Ответы [ 3 ]

1 голос
/ 14 февраля 2020

Я думаю, что вы используете jQuery в JavaScript, который не будет работать, но в чистом JavaScript вы можете использовать локальное хранилище таким образом. Благодарю вас! Надеюсь, это поможет вам.

<!DOCTYPE html>
<html>
<body>

<div id="result"></div>

<script>
// Check browser support
if (typeof(Storage) !== "undefined") {
  // Store
  localStorage.setItem("lastname", "Smith");
  // Retrieve
  document.getElementById("result").innerHTML = localStorage.getItem("lastname");
} else {
  document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
</script>

</body>

0 голосов
/ 14 февраля 2020

, если ваш основной. js содержит этот код ниже js - я предлагаю вам не включать его в index1. html, потому что он снова обновляет ваше значение. Данные Localstorage основаны на домене, вы можете создать его на любой странице и получить на любой странице с тем же доменом.

       var popC = $('body > div.pro-pop').length;
       localStorage.setItem('popC', popC);
       var unco = parseFloat(localStorage.getItem('popC'));
       console.log('unco:', unco);
0 голосов
/ 14 февраля 2020

localStorage сохранить значения для домена. не на странице. если вы хотите, чтобы значения были разными на разных страницах, вам нужно дать ему разные ключи. Вы можете попробовать добавить pathname перед ключом, поэтому на каждой странице он будет отличаться.

 localStorage.setItem(document.location.pathname +'popC', 9);
 var unco = parseFloat(localStorage.getItem(document.location.pathname + 'popC'));
 console.log(unco);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...