提升Tableau Server视图加载体验:JS实现进度条
版权申诉
82 浏览量
更新于2024-08-06
收藏 3KB TXT 举报
在Tableau Server中,为了提供更清晰的用户体验,特别是在大数据或复杂视图加载时,设置视图加载进度显示是非常有用的。这个JS源代码片段主要涉及使用自定义的脏检查机制来监控页面的变化,并实时更新加载进度。以下是对这段代码的详细解析:
首先,代码引入了一个名为`var_dirty`的函数,它利用了浏览器的`requestAnimationFrame`或`setTimeout`方法进行周期性调用(脏检查),确保每当页面内容有更新时,就会执行指定的函数`F`。这里的`EXPIRE`参数用于设定检查的频率,如果设置了时间限制,会在指定时间后自动触发检查。
`clickTab_`函数是关键部分,当用户点击Tableau Server中的视图选项卡时,会开始监听点击事件。通过获取窗口的外边距宽度(`totalWidth`)和一个计数器`index`,每次点击事件触发时,计数器会递增,并计算当前加载进度百分比。`loadText`变量用于获取并更新加载进度的UI元素,通常是轮播加载指示器的CSS样式,将`index`与总宽度比较,从而动态改变加载进度的表示。
值得注意的是,这段代码使用了jQuery库,因为可以看到`.dijitTabContainerTop-tabs`和`.dijitTab`的选择器。这表明它可能是在Dijit UI框架中集成的,Dijit是Tableau Server中的一种前端组件集。
通过这种方式,开发人员可以避免默认的圆形加载进度图标难以判断是用户设备性能问题还是报表加载问题,提供了一种更加直观的加载进度反馈。然而,实际应用时,可能还需要根据具体需求对代码进行调整,比如添加错误处理、状态管理以及更加精细的动画效果。
总结来说,这段JS源代码的核心是利用脏检查实现Tableau Server视图加载进度的动态显示,提升了用户体验。通过计数器和窗口尺寸的比较,开发者可以根据用户的交互实时更新加载进度,这对于大型数据集或者复杂的仪表板加载场景尤其有用。
2022-07-13 上传
2017-07-13 上传
2014-09-25 上传
2021-05-25 上传
2021-02-02 上传
2022-01-26 上传
2021-05-17 上传
2020-03-30 上传
软件派
- 粉丝: 13
- 资源: 126
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践