BLOG

BE A COOL GUY

XJBX No.1

🦐 JB 想/写

使用 Service Worker 监听 Unload 事件 使用 Service Worker 监控页面卡死/崩溃 如何监控网页崩溃? 使用 Web Worker 实现 Deep Prefetch(好像没啥用…

浏览器下载文件的一些方法

站在巨人的肩膀上「让浏览器下载文件的一些手段」。 「让浏览器下载文件的一些手段」 对于如何实现文件下载已经做了很好的解说。总结起来有以下几种方法: download 属性 常规的 <a> 标签通过 href 实现链接跳转,如果只想下载文件而不是跳转预览,最好的方式是在 <a> 标签中添加 download 属性,就能很简单地实现下载操作。 但是注...

「BLOG」 项目治理 (下) - 性能优化

主要做了两方面的优化:preload + service worker preload 通过 preload 属性,提前加载项目中的大图。 通过 Google QuickLink 预加载后续页面。 <!-- Preload Img --> <link rel="preload" href="/assets/home.jpg" as="image" />...

「BLOG」 项目治理 (上) - 工程化

背景 初代的「BLOG」项目基于 Jekyll 进行搭建,将 Markdown、Liquid 和 HTML & CSS 构建为可发布的静态网站。 但相较于常用的 React、NPM 等工具,整体对于 Jekyll 的开发方式、插件体系不太熟悉(不想研究了…,所以对项目进行了一番改造。 目标 一方面 保留了原来 post 的开发编译方式(Markdown -> HT...

关于 beforeunload/unload 的二三事

在开发中我们也许会遇到这样的需求:即在用户离开当前页面的时候发送请求或者打点。自然我们需要对页面的 beforeunload/unload 事件去做一些事件监听。 function log() { $.ajax(); } window.addEventListener('unload', log, false); 事实上,由于页面已经被用户关闭了,你的请求可能并没有成功发送(Can...

Electron 实现 ToDoList

项目预览 Neural - ToDoList for Mac 技术选型 # 语言 typescript # 框架 react + electron # 组件库 Antd # 存储 IndexedDB 项目开发 初始化 参考 React 结合 Electron 初始化自己的 react 项目。 本地开发 利用 Antd 组件库进行前端开发,提供 todo item 的增删改查...

Piglet Part4 - AST

A language named Piglet to describe the flow chart

AST In short prog { type: “prog”, consequent: [ …AST ] } node { type: “node”, value: string } if { type: “if”, test: AST, consequent: [ …AST ], alternate: AST } switch { type: “switch”, ...

Piglet Part3 - Tokens

A language named Piglet to describe the flow chart

Tokens Snippet 1 init; if (failure) { has error; break; } submit; ↓↓↓ Token { type: 'node', value: 'init' }, Token { type: 'punctuation', value: ';' }, Token { type: 'keyword', value: 'if'...