Координаты setItem и широта getitem

Я использовал setitem(coordinates) на предыдущей странице, где речь шла о широте и долготе. Я хочу, чтобы на следующей странице использовался getItem(), но только широта, но я ее не понял.

Первая страница

function storeCoordinates(location) {     
  const coordinates = {   
    lat: location.lat(), 
    lng: location.lng()       
  };            
  localStorage.setItem('coordinates', JSON.stringify(coordinates));    
}

Следущая страница

window.onload = function () {
  var lat = localStorage.getItem('coordinates.lat');
  var IR = (-75 * lat) + 5025;
  var energie_pro = IR * 0.926 * 0.8 * 0.213 * 1.92 * 8;
  document.getElementById('eco_3000').innerText = energie_pro;
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы не можете получить доступ к свойству объекта в localStorage. Вам нужно получить строку из хранилища, десериализовать ее в объект, а затем получить доступ к ее свойствам:

window.addEventListener('load', () => {
  const coordinates = JSON.parse(localStorage.getItem('coordinates'));
  const lat = coordinates?.lat;

  if (!lat)
    return; 
  
  // rest of your code...
}

Также обратите внимание на использование addEventListener() вместо onload и const вместо var в приведенном выше примере.

Есть ли у вас предпочтение «загрузки» над «DOMContentLoaded» — если нет, то предпочтение document.addEventListener('DOMContentLoaded') перед window.addEventListener('DOMContentLoaded')

mplungjan 30.07.2024 10:54

@mplungjan, как ни странно, у меня была такая же мысль, прежде чем я опубликовал ответ :) Я предпочитаю loadDOMContentLoaded, так как оно более краткое и соответствует названиям других событий. Я проверил совместимость и MDN считает, что он хорошо поддерживается, поэтому для меня этого достаточно. Я знаю, что они не совсем похожи по поведению, но в 99% случаев они взаимозаменяемы.

Rory McCrossan 30.07.2024 10:57

Истинный. зафиксированный. Спасибо.

Rory McCrossan 30.07.2024 11:11

Ошибку в коде можно найти в этой строке: var lat = localStorage.getItem('coordinates.lat');

Вы можете получить доступ к элементам локального хранилища только с помощью ключа, который вы установили, в данном случае «координаты». Улучшенная версия кода будет:

var coordinates = localStorage.getItem('coordinates');
const lat = JSON.parse(coordinates)?.lat;

👍 для дополнительной цепочки

mplungjan 30.07.2024 11:10

Другие вопросы по теме