用Electron创建跨平台应用(第四弹) 监听当前是否联网

简介: Electron主要用于创建跨平台的桌面软件, 既然是桌面软件, 那即使是断网的情况下, 无需联网的功能也应该可以正常使用.为了提升用户的体验, 我们应该能根据当前是否可以连通互联网, 对用户做出提醒(类似桌面qq在线, 离线, 的提醒) .
  • 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

目录
相关文章
|
3月前
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
163 3
|
1月前
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
39 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
6月前
|
资源调度 JavaScript 前端开发
IM跨平台技术学习(十一):环信基于Electron打包Web IM桌面端的技术实践
这次借着论证 Web IM端 SDK 是否可以在 Electron 生成的桌面端正常稳定使用,我决定把官方新推出的 webim-vue3-demo,打包到桌面端,并记录了这次验证的过程以及所遇到的问题和解决方法。
106 2
|
2月前
|
安全 前端开发 iOS开发
揭秘 electron-builder:macOS 应用打包背后到底发生了什么?
本文详细介绍了 Electron 应用在 macOS 平台上的打包流程,涵盖配置文件、打包步骤、签名及 notarization 等关键环节。通过剖析 `electron-builder` 的源码,展示了如何处理多架构应用、执行签名,并解决常见问题。适合希望深入了解 macOS 打包细节的开发者。
105 2
|
2月前
|
监控 前端开发 安全
谈谈我做 Electron 应用的这一两年
本文首发于微信公众号“前端徐徐”,作者徐徐分享了过去一两年间开发Electron桌面应用的经验与心得。文章详细介绍了从项目启动、技术选型到具体实施的过程,并探讨了桌面端开发面临的挑战及解决方案,如软件更新、任务队列设计、性能优化等。此外,还列举了一些特殊需求的实现方法,如静默安装、进程禁用等。作者认为,尽管桌面端开发有其独特性,但通过不断探索与实践,仍能显著提升用户体验和技术水平。
180 0
谈谈我做 Electron 应用的这一两年
|
2月前
|
开发框架 JavaScript 前端开发
Electron技术深度解析:构建跨平台桌面应用的利器
【10月更文挑战第13天】Electron技术深度解析:构建跨平台桌面应用的利器
227 0
|
2月前
|
XML 缓存 前端开发
Electron-builder 是如何打包 Windows 应用的?
本文首发于微信公众号“前端徐徐”,作者徐徐深入解析了 electron-builder 在 Windows 平台上的打包流程。文章详细介绍了 `winPackager.ts`、`AppxTarget.ts`、`MsiTarget.ts` 和 `NsisTarget.ts` 等核心文件,涵盖了目标创建、图标处理、代码签名、资源编辑、应用签名、性能优化等内容,并分别讲解了 AppX/MSIX、MSI 和 NSIS 安装程序的生成过程。通过这些内容,读者可以更好地理解和使用 electron-builder 进行 Windows 应用的打包和发布。
185 0
|
4月前
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
192 0
|
4月前
|
前端开发 JavaScript API
强强联手打造桌面应用新标杆:Angular与Electron的完美融合——从环境搭建到通信机制,全面解析构建跨平台应用的最佳实践与技巧
【8月更文挑战第31天】随着Web技术的进步,开发者们越来越多地采用Web技术来构建桌面应用程序。通过结合使用开源框架Electron及前沿的前端框架Angular,开发者能充分利用JavaScript、HTML和CSS打造出高性能且易维护的跨平台桌面应用。本文将详细介绍如何搭建基于Angular与Electron的开发环境,包括创建Angular项目、安装Electron及相关依赖、配置Electron主进程以及实现Angular应用与Electron间的通信等关键步骤,并最终将应用打包成多平台可执行文件,为读者提供了一套完整的解决方案以快速入门并实践这一强大技术组合。
147 0
|
5月前
|
Rust 前端开发 JavaScript
IM跨平台技术学习(十三):从理论到实践,详细对比Electron和Tauri的优劣
本文主要介绍了目前比较流行的桌面应用跨平台开发技术及其架构,并以实战的方式对比了 Electron 和 Tauri 的优势和劣势,以及桌面跨平台应用开发的技术趋势。
84 0