Electron 开发:获取当前客户端 IP

3 月 28 日
阅读 6 分钟
212
Electron 开发:获取当前客户端 IP一、背景与需求1. 项目背景客户端会自启动一个服务,Web/后端服务通过 IP + port 请求以操作客户端接口2. 初始方案与问题2.1. 初始方案:通过代码获取本机 IP {代码...} 2.2. 遇到的问题如果设备开启了代理,可能获取的是代理 IP,导致后端请求失败二、解决方案设计1. 总体思路获取本机...
封面图

Vite CVE-2025-30208 安全漏洞

3 月 27 日
阅读 2 分钟
438
CVE-2025-30208 是 Vite(一个前端开发工具提供商)在特定版本中存在的安全漏洞。此漏洞允许攻击者通过特殊的 URL 参数绕过对文件系统的访问限制,从而获取任意文件内容(包括非 Vite 服务目录范围外的文件)。
封面图

Electron 客户端项目自启动

3 月 26 日
阅读 3 分钟
282
app.setLoginItemSettings 与 auto-launch 对比分析一、稳定性对比1. app.setLoginItemSettings优点:作为Electron官方API,有官方维护和支持缺点:在某些Windows版本上存在已知问题部分Windows 10/11更新后可能失效在macOS权限更严格的版本上可能需要额外授权不支持Linux2. auto-launch优点:针对各平台做了特殊适配(W...
封面图

NextJS CVE-2025-29927 安全漏洞

3 月 25 日
阅读 3 分钟
321
CVE-2025-29927 是一个存在于 Next.js 框架中的关键安全漏洞。该漏洞允许攻击者通过伪造或篡改 x-middleware-subrequest 请求头,绕过中间件(Middleware)的安全检查,从而访问到原本受保护的路由或 API,进而导致授权绕过(Authorization Bypass)以及潜在的更深层次安全风险。本篇文章将对漏洞成因、受影响范围、修复...
封面图

Chrome 134 版本开发者工具(DevTools)更新内容

3 月 24 日
阅读 4 分钟
300
Chrome 134 版本开发者工具(DevTools)更新内容一、隐私与安全面板旧的 Security 面板已演变为隐私与安全面板,并新增了一个专注于隐私的部分。在该部分中,可以:在 DevTools 打开时,临时限制第三方 Cookie(可带或不带例外),并测试网站在此情况下的表现。查看一张表格,其中包含有关第三方 Cookie 的信息,包括它...

Chrome 133 版本开发者工具(DevTools)更新内容

3 月 24 日
阅读 3 分钟
213
Performance > Insights 选项卡可以突出显示文件大小可进一步优化的图像。单击洞察中的图像,即可在 Network track 中查看它的高亮显示。
封面图

ChromeOS 134 版本更新

3 月 13 日
阅读 3 分钟
394
从 ChromeOS 134 开始,自助终端(Kiosk)模式支持 隔离 Web 应用(Isolated Web Apps,IWA),提供 更安全、更强大 的应用解决方案,并可 深度集成系统功能。
封面图

ChromeOS 133 版本更新

3 月 13 日
阅读 3 分钟
286
从 ChromeOS 133 开始,托管用户 现在可以 无缝打开和编辑 Microsoft Office 文件(Word、PowerPoint、Excel),无论他们使用的是 Microsoft 365(Office for the web) 还是 Google Workspace。
封面图

Chrome 浏览器 134 版本新特性

3 月 11 日
阅读 4 分钟
464
从 Chrome 134 开始,开发者可以在 Chrome DevTools(开发者工具) 中使用全新的 “安全与隐私”(Security & Privacy) 面板,测试当 第三方 Cookie 受限 时,网站的行为表现。
封面图

Chrome 浏览器 133 版本新特性

3 月 11 日
阅读 4 分钟
305
为了使搜索能够结合用户当前浏览的文档或网站的上下文,PDF 文件的字节数据或网站 HTML 也会被发送到 Google 服务器,但同样不会与任何 ID 或账户关联,不会被任何人查看,且其内容数据或生成的数据不会被记录。
封面图

Cron 表达式用法

2 月 14 日
阅读 2 分钟
557
Cron 表达式 是一种用于定义定时任务调度的标准语法,广泛应用于 Linux 系统中的定时任务管理器 cron。它通过一组字段指定任务的执行时间,灵活地控制任务在特定时间点的运行。
封面图

Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档

2 月 14 日
阅读 9 分钟
483
本文将对七个流行的定时任务调度库:node-cron、rxjs、bull、node-schedule、agenda、bree、cron。这些库都可以用来处理定时任务,但它们的特点和适用场景有所不同。我们将从以下几个方面进行详细对比:功能优缺点使用场景简易度下载使用量
封面图

Electron 主进程和渲染进程通信方法总结

2 月 12 日
阅读 9 分钟
555
Electron 主进程和渲染进程通信一、主进程(IPCMain)方法名称参数类型作用典型使用场景配套的渲染进程方法或说明on(channel, listener)channel:string listener:回调函数 + Event + 参数监听方法监听渲染进程发送的异步消息;通过 event 参数可对消息做回复接收渲染进程通过 send、sendSync 等发送的消息,如指令、通...
封面图

CSS 小技巧 —— CSS 实现 ... 的 loading 加载中动画

2 月 11 日
阅读 1 分钟
746
CSS 小技巧 —— CSS 实现 ... 的 loading 加载中动画1. 前言需求中想做出个这种效果,这个页面又是一个单独的 html 页面,没必要再单独引入其他模块了就想着用 CSS 动画来实现2. 实现效果3. 实现思路3.1. 项目要求... 不能使所在的 dom 元素宽度变化,不然加个 . 变宽,少个点变窄,不好看需要使用 animation 动画的 infi...
封面图

CSS 小技巧 —— CSS 实现 Tooltip 功能-鼠标 hover 之后出现弹层

2 月 11 日
阅读 6 分钟
398
CSS 小技巧 —— CSS 实现 Tooltip 功能-鼠标 hover 之后出现弹层1. 两个元素实现 {代码...} 2. 通过 ::after 和 ::before 实现 {代码...} 3. 实现 Tooltip 上下左右四个位置展示 {代码...}
封面图

Vue Vite 项目增加 eslint 和 prettier

2 月 10 日
阅读 9 分钟
538
Vue Vite 项目增加 eslint 和 prettierEslint 版本为 8.X1. 安装 8.X 版本的 eslint {代码...} 2. 安装 eslint 以及 prettier 以及一堆依赖 {代码...} 3. 安装 TS 依赖 {代码...} 4. 初始化 eslint {代码...} 4.1. 选择 eslint 的校验模式选择第三个4.2. 选择项目类型选择第一个 ESM 规范4.3. 选择项目框架我们是 vue,...
封面图

React Vite 项目增加 eslint 和 prettier

2 月 10 日
阅读 7 分钟
514
React Vite 项目增加 eslint 和 prettierEslint 版本为 8.X1. 安装 8.X 版本的 eslint {代码...} 2. 安装其他包 {代码...} 3. 初始化 eslint {代码...} 3.1. 选择 eslint 的校验模式选择第三个3.2. 选择项目类型选择第一个 ESM 规范3.3. 选择项目框架我们是 React,选择第一个3.4. 是否使用 TS项目中建议使用 TS3.5. 运...
封面图

Chrome 130 版本新特性& Chrome 130 版本发行说明

2024-11-04
阅读 6 分钟
420
当用户执行某个操作时,Toast 会在屏幕上短暂弹出,确认操作成功或提供快捷链接。 例如,当将某项内容添加到阅读列表时,Toast 会确认项目已添加,并提供一个快速链接以打开阅读列表侧边栏。Toast 以小型提示的形式显示,部分覆盖网页内容,部分覆盖浏览器顶部工具栏。
封面图

Chrome 130 版本开发者工具(DevTools)更新内容

2024-11-04
阅读 4 分钟
505
Chrome 130 版本开发者工具(DevTools)更新内容一、网络(Network)面板更新1. 重新定义网络过滤器网络面板获新增了一些过滤条件,这些过滤条件是根据反馈重新设计的,特定于类型的过滤条件保持不变,即在简洁的多选栏中显示一组标记。可以通过 Cmd/Ctrl 键 + 点击来多选类型过滤条件。为了简化界面,我们将与隐藏、屏...
封面图

使用 CRXJS 构建 Chrome 插件在 Chrome 浏览器升级到 130xxx 版本之后,出现CSP错误

2024-10-16
阅读 6 分钟
966
使用 CRXJS 构建 Chrome 插件在 Chrome 浏览器升级到 130xxx 版本之后,出现 Content Security Policy 错误一、前言之前有个老哥找我写了插件,到现在几个月过去了,今天早上和我说 Chrome 浏览器报错运行不起来了,但是 edge 浏览器没问题。就帮忙定位了下问题,发现是 Content Security Policy 的问题导致的报错;老哥...
封面图

JS 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆对象的区别

2024-09-06
阅读 5 分钟
616
structuredClone 是在 ECMAScript 2021(ES12)标准中引入的,ECMAScript 2021 规范正式发布于 2021 年 6 月
封面图

Rust 操作符及示例

2024-09-06
阅读 3 分钟
446
Rust 操作符Rust 提供了一系列操作符(operators),每种操作符都有特定的功能和应用场景。1. 算术操作符这些操作符用于基本的数学运算:+ : 加法,用于两个数相加。示例: let sum = 5 + 10;- : 减法,用于两个数相减。示例: let difference = 10 - 5;* : 乘法,用于两个数相乘。示例: let product = 4 * 3;/ : 除法,用...
封面图

Rust 中的关键字以及示例

2024-09-05
阅读 4 分钟
558
1. 常见关键字as: 用于类型转换,例如将一个值从一种类型转换为另一种类型。 {代码...} break: 用于提前退出循环。 {代码...} const: 定义一个常量,常量的值在编译时就确定,不会在运行时改变。 {代码...} continue: 跳过当前循环中的剩余部分,直接进入下一次循环迭代。 {代码...} crate: 表示当前包或库的根模块,通...
封面图

Chrome 浏览器插件获取网页 window 对象(方案三)

2024-09-05
阅读 5 分钟
664
最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMessage 发送数据到插件就行了,结果发现不是这样滴...
封面图

Chrome 浏览器插件获取网页 window 对象(方案二)

2024-09-04
阅读 5 分钟
516
最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMessage 发送数据到插件就行了,结果发现不是这样滴...
封面图

Chrome 浏览器插件获取网页 window 对象(方案一)

2024-09-04
阅读 5 分钟
643
最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMessage 发送数据到插件就行了,结果发现不是这样滴...
封面图

Rust 版本升级 rustup update stable 报错

2024-07-26
阅读 2 分钟
754
error: could not download file from '[链接]): error trying to connect: tcp connect error: Connection refused (os error 61): error trying to connect: tcp connect error: Connection refused (os error 61): tcp connect error: Connection refused (os error 61): Connection refused (os error 61)
封面图

Rust 中 *、&、mut、&mut、ref、ref mut 的用法和区别

2024-07-25
阅读 6 分钟
1.5k
在 Rust 中,*、ref、mut、& 和 ref mut 是用于处理引用、解引用和可变性的关键字和操作符,它们在不同的上下文中有不同的用法。
封面图

四万字符数带你使用 Vitepress 构建博客并部署到 github 平台

2024-06-07
阅读 29 分钟
3.3k
最近写了好多篇 Chrome 浏览器插件相关的文章,有十几二十篇,就想着构建个博客,用来放置相应的文章。正好前段时间看到 VitePress 1.0.0 发布了,而且是用 markdown 写文章,正好写插件文章的时候文章都是 md 格式,所有用下这个然后顺便写一篇使用教程。
封面图

Web 网页性能及性能优化

2024-06-05
阅读 22 分钟
738
Web 网页性能及性能优化一、Web 性能Web 性能是 Web 开发的一个重要方面,侧重于网页加载速度以及对用户输入的响应速度通过优化网站来改善性能,可以在为用户提供更好的体验网页性能既广泛又非常深入1. 为什么性能这么重要?1. 性能关乎留住用户性能对于任何在线业务都至关重要与加载速度缓慢、让人感觉运行缓慢的网站相...
封面图