- Electron主要用于创建跨平台的桌面软件, 既然是桌面软件, 那即使是断网的情况下, 无需联网的功能也应该可以正常使用.
- 为了提升用户的体验, 我们应该能根据当前是否可以连通互联网, 对用户做出提醒(类似桌面qq
在线
,离线
, 的提醒) . - 为了更好的交互体验, 我们也可以将 离线不可用的功能按钮,变成灰色失效的状态.
Demo演示
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>检测在线或离线</title>
</head>
<body>
<style>
#desc {
font-size: 20px;
color: #44A1F8;
}
</style>
<div id="desc">
检测在线或离线的Demo
</div>
<script>
window.addEventListener('online', function() {
let option = {
title: "有网了!",
body: "机子帮你开好了, 快来上网啊~",
icon: "../static/online.ico",
};
// 创建上线通知
new window.Notification(option.title, option);
console.log('有网络了');
})
window.addEventListener('offline', function() {
let option = {
title: "断网了!",
body: "尝尝10亿伏特!还敢上网不?(炮姐如是说!)",
icon: "../static/offline.ico",
};
// 创建上线通知
new window.Notification(option.title, option);
console.log('断网了');
})
</script>
</body>
</html>
检测在线与离线的api非常容易实现, 在window上绑定两个回调函数, 就实现了监听网络的功能(用js的回调函数实现
检测在线与离线
的功能真的非常简洁, 同样的, 用监听网络在线
或离线
的逻辑来解释"js回调函数"的思想也是非常贴切)
小结:
- Electron与传统的网站在线应用相比, Electron的一大优势就是能创建桌面应用, 应用离线可用, 对于检查网络这种常见需求, 能快速进行实现
- Electron与传统桌面软件相比, 布局非常简单, UI定制性极强, 随便引入几个UI美化的库, 界面就可以做的非常漂亮, 也验证"颜值即正义"的真理
这是用Electron创建跨平台应用的第四弹, 如果你想对Electron有更详细的了解, 欢迎查看其它章节的内容目录: https://www.jianshu.com/p/3b295544c78e