Задать вопрос
@Nube

Можно ли организовать загрузку html без перезагрузки страницы, используя WebSocket?

Добрый день. Можно ли динамически менять шаблоны при этом не перезагружая страницу. Например при нажатие на кнопку, поменять шаблон на другой или проще говоря менять части html страницы на лету.
  • Вопрос задан
  • 337 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@rPman
Не просто можно а нужно.

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

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

Нормальным подходом является хранение шаблонов тут же на странице в <script id='myTemplate' type='html/text'>....</script>, в итоге все необходимые шаблоны будут загружены при первой же загрузки страницы, и закешированы, а в дальнейшем с сервера запрашиваются только данные (по вебсокет или ajax), удобно, логично, быстро и главное разработка логично разделяет интерфейсом занимается браузер, данными - сервер.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@chromimon
К языку программирования Go, что у вас в тегах указан - это не имеет отношения.
А имеет отношение к языку программирования JavaScript, но он у вас в тегах не указан.
Ответ написан
Комментировать
@Abcdefgk
Ответ написан
Комментировать
@KirEv
https://github.com/gorilla/websocket

но если у Вас возникает подобный вопрос, возможно не стоит эту часть писать на Go?

по сути, это возможно, реализовав go-ws (сервер) + javascript-ws (клиент) + go (сервер приложения), задача сама по себе трудоемка, и требует соотв.навыков, больше бы подробностей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы