标签:配置 隐藏 不同 定时 socket blank 访问 修改 客户
背景:
一个PC端的网站,用户登录后,网站显示的内容会根据该用户的在该网站中所设置的配置而有所不同,也就是说,每个用户在配置页面开启了和配置了不同的配置项,那么在首次访问该网站的首页时,显示的内容也会根据配置来选择显示或者隐藏。
问题:
因为是PC端,所以可以同时打开多个标签页,移动端也可以,只不过很少这样。
该网站使用的HTTP协议,未使用WebSocket。
第一次访问网站的时候,显示了可以进行的A,B,C三个操作,此时的标签页为one。
然后打开一个新的标签页two,再访问一下该网站,此时标签页one和two的内容应该是一样的,如果不一样,就应该出问题了。
然后在two中进入到配置界面,target为_blank,在配置页中进行操作,关闭A操作,保存之后,该用户再次访问该网站首页时,操作A应该是隐藏的。
此时回到标签页one和two,你会看到A操作仍旧显示着,对吧,这个是正常的,因为没有刷新嘛。
因为使用http协议,那么服务器就不能主动向客户端推信息,所以客户端如果不刷新的话,那客户端的内容就永远不会刷新。
也许你会说使用ajax定时请求,这样也是能实现的,
但是有这么一个问题:
1、如果用户当前网页是正在浏览什么某个内容,定时的ajax查询到配置变了,然后网页一刷新,那么用户当前浏览的内容就要再找一次,然后在浏览,这样的用户体验很不好。
2、ajax定时请求要视情况而定,如果用户的操作频繁
标签:配置 隐藏 不同 定时 socket blank 访问 修改 客户
原文地址:https://www.cnblogs.com/-beyond/p/8961749.html