Использование localStorage для переводов на моем веб-сайте вместо загрузки их каждый раз, когда я снова захожу на страницу - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть функция для загрузки переводов на мой веб-сайт из запроса ajax, но я хотел бы сделать свой код таким образом, чтобы он сохранял эти переводы, а затем загрузить его из localStorage вместо повторного выполнения запроса.

Как я могу сохранить их в localStorage?

1 Ответ

3 голосов
/ 01 апреля 2020

У вас есть несколько вариантов.

Прежде всего, вам нужно распознать несколько ловушек здесь. Если вы скажете своему веб-сайту хранить переводы в локальном хранилище, то может быть, а может и не быть способа обновить переводы, если они потребуются в будущем. Кроме того, что произойдет, если вы обновите сайт и добавите переводы? Вам может понадобиться sh данные в локальном хранилище, чтобы просто запросить у сервера, изменились ли переводы.

Вероятно, самый сильный вариант - внедрить переводы непосредственно в веб-страницу как данные c. Таким образом, запрос ajax не требуется. Это может потребовать рендеринга на стороне сервера, так что это понятно, если это не вариант.

Если вы настаиваете на использовании локального хранилища, рассмотрите следующие методы управления несколькими страницами с использованием одних и тех же ключей перевода:

  1. Используйте пространства имен для всех ключей перевода, например, page1: mName и page2: mName.
  2. Использовать на странице локальное хранилище. Вместо того чтобы всегда сохранять переводы для каждой страницы в один и тот же ключ локального хранилища, поместите каждую страницу в свой собственный ключ локального хранилища

Код для сохранения строки в localalstorage:

localStorage.setItem(key, value)

и прочитать ключ из местного хранилища:

localStorage.getItem(key)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...