Повторное использование веб-страниц между страницами?

Есть ли способ открыть веб-сайт на одной странице, а затем повторно использовать его на другой странице (на той же вкладке, например, когда пользователь нажимает ссылку), вместо того, чтобы открывать новый веб-сайт после каждой загрузки страницы? Хранить ли хранилище браузера в открытом сокете?

Цель состоит в том, чтобы иметь возможность хранить один веб-узел на пользователя (или вкладку), и было бы здорово сделать это без необходимости перемещаться между страницами нетрадиционным способом, например, загружать контент в div с помощью Javascrpt каждый раз, когда пользователь взаимодействует со страницей.

Ответ 1

Ответ нет.

Даже если сокет не закрыт явным путем вызова mySocket.close();, сокет будет закрыт браузером при перезагрузке.

Я попытался сохранить объект Web Socket в локальном хранилище и использовать его для получения данных снова. Возвращаемый объект действителен, но соединение больше не существует. Потому что, когда страница перезагружается, сокет безоговорочно завершается.

Сообщение на стороне сервера говорит:

[Errno 10053] An established connection was aborted by the software in your host machine

Там вы идете...

Ответ 2

A другой подход будет заключаться в том, чтобы сохранить пользователя вместо сокета на разных страницах. Под этим я подразумеваю, что вы храните идентификатор клиента в cookie с javascript, каждый раз, когда пользователь пытается открыть новый сокет с любой страницы вашего сайта, вы отправляете этот идентификатор на сервер, а затем сервер может узнать, что это новое соединение от одного и того же пользователя.

Я сделал это в недавнем проекте, и он отлично работает:) В зависимости от того, что вы планируете делать, вы можете сохранить состояние пользователя на своем сервере с его идентификатором или сохранить его в другом файле cookie, или флеш-память события, чтобы сохранить его в общем объекте!

Ответ 3

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

Общие веб-рабочие только в настоящее время поддерживаются Chrome, Safari, Opera.