Повторное использование веб-страниц между страницами?
Есть ли способ открыть веб-сайт на одной странице, а затем повторно использовать его на другой странице (на той же вкладке, например, когда пользователь нажимает ссылку), вместо того, чтобы открывать новый веб-сайт после каждой загрузки страницы? Хранить ли хранилище браузера в открытом сокете?
Цель состоит в том, чтобы иметь возможность хранить один веб-узел на пользователя (или вкладку), и было бы здорово сделать это без необходимости перемещаться между страницами нетрадиционным способом, например, загружать контент в 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.