Просмотр переменной javascript из любого браузера - PullRequest
0 голосов
/ 24 января 2019

У меня есть переменная в Javascript, которая создается путем чтения числа из HTML, добавления к нему числа и его возврата в HTML.

Я хочу сделать так, чтобы независимо от того, каким браузером / каким пользователем вы были, вы видели последнюю версию переменной.В настоящее время, если я обновляю страницу, число сбрасывается до 0 (значение по умолчанию).Я хочу, чтобы, если я обновлю число до 1, когда кто-то другой просмотрит его из другого браузера, оно также увидит 1, а не 0.

Я видел, что файлы cookie являются опцией, однако я думал, что куки были только на стороне клиента?Так что это будет означать, что только я буду видеть последнюю версию переменной.

Я видел, что сессии являются еще одним вариантом, являются ли сеансы на стороне сервера?И сделают ли они работу, которую я выполняю?

Есть ли другой способ сделать это, который я не рассматривал?

Заранее спасибо

1 Ответ

0 голосов
/ 24 января 2019

Я хочу сделать так, чтобы независимо от того, каким браузером / каким пользователем вы являетесь, вы видите последнюю версию переменной.

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

Один из способов - просто взять это число и отправить его на сервер. Затем, при загрузке следующей страницы, сервер вводит этот новый номер в страницу, которую он выводит (или он подает его через вызов API, через AJAX, через Fetch API или через отправленные сервером события, WebSocket и т. Д.). Если вы сделаете это, вам нужно будет решить, как обрабатывать параллелизм. Что произойдет, если страницу загрузят два человека одновременно?

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

Я видел, что куки - это вариант, но я думал, что куки были только на стороне клиента?

Да, куки-файлы на стороне клиента. Они отправляются на сервер с каждым запросом, но это не полезный инструмент для вас, кроме идентификации сеанса.

Я видел, что сеансы - это еще один вариант, являются ли сеансы серверными?

Они могут быть, но вам нужно найти способ узнать, что пользователь между браузерами. Обычно идентификатор сеанса хранится в файлах cookie.

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