是这样的,现在在做一个旧系统的改造,jsp的,现在要分离。
业务需要动态的配置页面的一些信息,比如颜色等。
之前的做法是ajax从服务器请求相关css文件插入到页面中,但是网络环境不好的话,就会出现较长时间的白屏,还会有闪烁的情况,因为是后插入的样式覆盖之前的样式,就会出现蓝色一闪变成黄色的情况,体验不好。
所以,抛出的问题是:
如果页面(组件)初始化时,需要ajax获取数据,那代码应该写在哪里?
期待各位的精彩回答。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
给出几点建议:
1.从后台读取的配置进行样式渲染的时候,可以做过渡切换,就是样式切换的时候采用animation动画效果,比如3秒之内从蓝色切换到黄色,这样从效果上也会更好。
2.加一个loading页面,这个页面就是用过做你后台读取字段时间的过滤,如果检测到后台数据已经读取,并且页面渲染完成,那么把loading页面隐藏掉(loading页面可以是一个p浮动在最上面)
3.采用html5的页面可见性接口,读取到后台配置数据时,不要急于切换样式,检查到用户调到别的页面时,在动态的切换样式,并将配置缓存在本地。用户切回页面时,就会发现样式已更新
看了相关的颜色配置信息,之后发现其实要设置的不多。
最后用的办法是,后台把要配置的颜色信息放在url里,我拿到之后,直接加到html标签里,对应的颜色配置就写到公共的样式文件里。这样就避免了一次额外的请求,也不会出现闪烁。可维护性也比较好。