1 2 3 4 5 ··· 16 下一页

2026年5月21日

十分钟学习 TypeScript

摘要: 作为前端开发者,学习 TypeScript(TS)是进阶的必经之路。TS 本质上是 JavaScript 的超集,你可以把它理解为“给 JS 加上了强类型约束的增强版”,能让你在写代码时就发现大部分错误,而不是等到页面运行起来才报错。 为了帮你高效上手,我为你梳理了 TypeScript 的核心学习 阅读全文

posted @ 2026-05-21 15:19 fox_charon 阅读(181) 评论(0) 推荐(0)

2026年5月19日

用 content-length 长度确定后端返回的是不是真实的文件流

摘要: 是的,你可以 100% 确定后端返回的绝对不是真实的文件流。 几百 MB 的文件,Content-Length 只有 39,这中间差了十万八千里。这个 39 字节,极大概率是后端返回的一段简短的文本提示或者错误信息。 🔍 为什么是 39? 你可以算一下,39 个字节通常就是一句非常简短的话。比如: 阅读全文

posted @ 2026-05-19 19:16 fox_charon 阅读(7) 评论(0) 推荐(0)

用 fetch 下载文件并在页面上显示多个下载进度条

摘要: 如果领导说“不用做断点续传,只要显示进度条”,那绝对是个好消息!因为实现单纯的下载进度条,完全不需要后端做任何额外的支持。 至于能不能支持多个文件同时显示进度条,答案是完全可以,而且实现起来非常灵活。 下面为你详细拆解一下原理和实现思路: 🛠️ 为什么不需要后端额外支持? 只要你的下载请求是通过前 阅读全文

posted @ 2026-05-19 19:15 fox_charon 阅读(9) 评论(0) 推荐(0)

Vue 实战:利用 IndexedDB 实现前端大文件断点续传

摘要: demo: https://github.com/foxcharon/Vue2-Resumable-Upload-Demo-IndexedDB 一、背景与痛点 前端下载大文件时,我们通常的做法是一行 fetch 拿到 response,转成 Blob,再丢给一个隐藏的 <a> 标签触发下载。这套逻辑 阅读全文

posted @ 2026-05-19 19:15 fox_charon 阅读(232) 评论(1) 推荐(4)

关于 indexedDB 的几件事

摘要: IndexedDB 的存储能力非常强大,完全可以胜任前端“断点续传”这种大文件存储的任务。针对你的三个疑问,我来逐一拆解: 1. IndexedDB 最多可以存多少? IndexedDB 的存储上限并不是一个固定的数值,而是动态的,它取决于用户设备的硬盘总容量和当前剩余空间。 大致配额:在现代浏览器 阅读全文

posted @ 2026-05-19 19:14 fox_charon 阅读(24) 评论(0) 推荐(1)

2026年5月18日

【lodash】如果我用了lodash但是我只用一个方法,我打包时会把整个lodash打进去吗?有没有节约打包大小的方法?

摘要: 如果你直接通过 import _ from 'lodash' 的方式引入,是的,打包时会把整个 lodash 库(包含所有未使用的方法)全部打进去。 这就像你只想吃几条小鱼,却把整个鱼塘都承包下来了一样,会造成极大的体积浪费。完整的 lodash 打包后通常会增加 70KB 左右的体积(gzip 压 阅读全文

posted @ 2026-05-18 16:56 fox_charon 阅读(2) 评论(0) 推荐(0)

对某个业务的导出需求,JavaScript能不能实现对数据进行分块下载,来实现显示进度条?假设是真实存在的文件,但是下载接口是下载流,哪种方法合适?

摘要: 是的,JavaScript 完全可以实现对数据进行分块下载,并以此来显示进度条。 这在处理大数据量导出(如导出数万条数据为 Excel 文件)时是一个非常有效的方案,可以避免浏览器因一次性处理大量数据而卡顿或无响应。 💡 核心实现思路 整个流程可以分为三个主要步骤: 数据分块 (Chunking) 阅读全文

posted @ 2026-05-18 16:55 fox_charon 阅读(2) 评论(0) 推荐(0)

【lodash】能不能让JavaScript一个方法一秒钟只执行一次,防止重复调用?

摘要: 使用 Lodash 库来实现这个功能会更加简洁和方便。Lodash 提供了 _.throttle 函数,可以直接满足你的需求。 🚀 使用 Lodash 实现节流 Lodash 的 _.throttle 函数会创建一个新的节流函数,确保在指定的等待时间内最多只执行一次你传入的函数。 1. 安装并引入 阅读全文

posted @ 2026-05-18 16:54 fox_charon 阅读(3) 评论(0) 推荐(0)

随机不等于安全:用 Web Crypto API 构建前端真随机数生成器

摘要: 一、前言:你的"随机"真的随机吗? 假设你在写一个抽奖转盘、一个扑克牌洗牌算法,或者一个密码生成器。你随手写下: const luckyNumber = Math.floor(Math.random() * 100) + 1; 功能跑通,测试通过,一切都很美好。直到某天—— 安全团队找上门:"你们的 阅读全文

posted @ 2026-05-18 16:33 fox_charon 阅读(3) 评论(0) 推荐(0)

[0514]AI EDITOR VIBE_LOG

摘要: Vibe Coding 过程复盘日志 项目:AI Editor — 本地 Markdown WYSIWYG 桌面编辑器 日期:2026-05-14 耗时:约 6 小时(从空脚手架到打包出 .exe) 灵感与初衷 (The Spark) 起因很简单:想要一个本地的、Typora 风格的 Markdow 阅读全文

posted @ 2026-05-18 15:57 fox_charon 阅读(8) 评论(0) 推荐(0)

1 2 3 4 5 ··· 16 下一页

导航