标签:JavaScript
基于 Next.js 建立文档站点
2023-02-03
复杂项目的运营中,文档站点通常不可或缺,比如我正在开发维护的 WonderPen 软件,虽然我一直努力让各个功能都尽可能简明易懂,但当软件的功能复杂到一定程度之后,用户对文档的需求仍然与日俱增,因为总...
阅读全文使用 React 开发 Chrome 扩展
2022-07-08
已经有八九年没有开发过 Chrome 扩展了,最近看了下官方最新的文档,实践了一番,发现现在开发 Chrome 扩展比以前更方便了,尤其是结合 React/Vue 等框架,加上无需考虑 SEO 等问题...
阅读全文CodeMirror 中固定滚动位置
2019-06-30
CodeMirror 是最流行的代码编辑器之一,包括写作软件 WonderPen 在内的很多工具都使用它开发。
与印象笔记等笔记软件不同,WonderPen 的定位是一款写作软件。写作软件与笔记软件之...
阅读全文如何获取浏览器的语言
2019-06-15
前端开发过程中,有时我们需要获取用户浏览器所用的语言,进而向用户显示不同的内容。如何获取用户浏览器语言呢?
开始
最直接的,就是访问浏览器内置的 navigator.language 属性:
var ...
阅读全文改进版迷宫
2018-08-24
以前曾经写过一个 JavaScript 版迷宫,生成迷宫的算法很简单,就是在一个空白迷宫中,让一个小人随机地行走,并记录下每个格子所通过的方向,直到地图上每个格子都到达过为止。
由这个算法生成的一个典...
阅读全文一个简单的有限状态机(easy-fsm)
2018-04-23
最近一个前端项目中,我需要用有限状态机对代码逻辑进行管理。一开始想用 javascript-state-machine 这个库,后来注意到如果商用,它需要购买商业授权。然后又研究了一下 xstate,...
阅读全文用遗传算法求解旅行商问题(JavaScript 版)
2018-01-21
旅行商问题(Travelling Salesman Problem,即 TSP 问题)是一个经典的算法优化问题,它的描述是:一位旅行商人需要辗转若干个城市卖东西,每个城市只去一次,最终需要回到出发的城...
阅读全文Sequelize.js + SQLite 路径中包含空格的问题
2017-11-12
最近项目中尝试使用 sequelize.js + SQLite 的组合记录信息,遇到一个问题:如果 sqlite 路径中存在空格,sequelize.js 无法找到数据库文件。本文记录一下排查过程以及...
阅读全文使用 Node.js 模拟滑动验证码操作
2017-11-01
近几年,网页上各种新型验证码层出不穷,其中一种比较常见的是滑动验证码,比如下图这种。 本文介绍了一种使用纯前端方法寻找滑动终点并模拟滑动的方法。
我们需要三个依赖库:puppeteer、Resembl...
阅读全文Electron 中读取系统字体列表
2017-02-06
最近在使用 Electron 开发的过程中遇到一个需求:用户想自定义界面以及编辑器的字体。这就需要在 Electron 中获取系统所有已安装的字体列表。
一开始我以为这个问题很简单,但遍历了 Elec...
阅读全文