This topic created in 1731 days ago, the information mentioned may be changed or developed.
最近自己在用 goframe +adminLTE 写一个后台管理站点,所有页面都是服务端渲染。我要做一些通知要用到 websicket 。这个前端的 websocket,要怎样创建才能只需要创建一次就好了?
现在的情况是,前端每点击一个菜单或者页面,都会全部重新渲染。(当然页面的部分数据请求使用的是 Ajax)
如果直接每点击一个页面就建立一次,断开一次,这样肯定不合理…… 请问有什么好的方法吗?
7 replies • 2021-08-23 01:10:01 +08:00
 |
|
1
codehz Aug 22, 2021 via Android
目前没有办法跨页面保持连接,SharedWorker 也要求有多个页面才可共享 建议套一个 iframe,然后保持顶层的不刷新,用 History API 更新 url,用 iframe 的 postMessage 做推送(或者直接在顶层渲染通知) 建议直接快进到 WebPush,这样页面没打开也能接通知
|
 |
|
4
sunorg Aug 22, 2021 via Android
套 iframe,父页面链接 ws,然后操作子页面,完美解决
|
 |
|
5
joesonw Aug 22, 2021 via iPhone
页面不刷新那不就是前后分离。要服务端渲染肯定每次刷新掉了,要么自己包个框架,服务器渲染的内容通过 websocket 推回去,前端接到了把容器里的内容替换掉。
|
 |
|
6
crystom Aug 22, 2021 1
jquery-pjax 或者 turbolinks
|