【问题标题】:How to load data at launching Chrome App?如何在启动 Chrome 应用程序时加载数据?
【发布时间】:2013-12-17 09:54:15
【问题描述】:
在启动 Chrome 应用时加载数据的最佳做法是什么?
我的 Chrome 应用程序的登录页面依赖于一些配置数据,这些数据我存储在 chrome 本地存储中。但是,读取 chrome 本地存储是一个异步过程。因此,应用程序启动后,有一段时间着陆页无法正确显示。
为了避免这个空白时间(由于读取本地存储的异步过程),我正在考虑在后台JS读取数据。但是,我还没有在 Google 上搜索出最佳做法。
有人有cmets吗?谢谢。
【问题讨论】:
标签:
angularjs
google-chrome-app
【解决方案1】:
只听 onLaunched 事件
chrome.app.runtime.onLaunched.addListener(function() {
// load your data
});
【解决方案2】:
这是我从 Google 群组获得的一条有用建议。在这里分享,以便有相同问题的人可以参考:
您可以在后台页面读取 chrome.storage 并在数据准备好时打开窗口。但是,用户体验可能更糟,因为您根本没有用户反馈,而不是错误的着陆页。
通常(且易于实施)的解决方案是在数据加载期间显示带有一些视觉反馈的着陆页,例如带有“正在加载”标签的旋转轮。如果您的 UI 确实需要显示数据,您可以将此可视指示器添加为整个窗口顶部的不透明 div。
有些人使用闪屏,但我认为它不会增加用户体验。