文章

bfcache处理

最近业务上遇到个问题:

项目里有两个app,当页面初始化的时候会跑一段代码codeA将url中的一些参数存储到WebStorage中。

当从appA跳转到appB,然后使用浏览器自带的返回按钮返回appA时,发现WebStorage中的参数还是appB的参数,也就是appA的初始化时的代码codeA没有跑。

查询过后发现是触发了浏览器的bfcache机制。

页面卸载时向后端发送接口

工作中遇到一个需求,需要在用户关闭或者刷新页面时向后端发送该用户的身份信息。

浏览器页面卸载时会触发beforeunload和unload事件,由于unload限制比较多,因此这里选择了beforeunload。

问题:常用的异步ajax请求在unload/beforeunload事件内是不可靠的,浏览器可能会无视异步请求从而导致后端收不到。可以使用下述方法。

JS 垃圾回收机制

当我们创建对象时,js 会在内存空间开辟地址来存放这个对象的内容。随着软件的运行,创建的对象会越来越多,而当新创建的对象不断添加,不再被使用的老对象却没有被及时清理时,内存占用就会越来越多,造成程序的运行缓慢直到崩溃。这个过程就称为内存泄漏(Memory Leak)

使用hexo写文章

首先对于博客来说,有pagepost两种不同类型的文章,区别如下:

  1. page:通常是静态的、永久性的内容,它们用于呈现不经常变化的信息。其创建通常是为了提供持久性和易于导航的信息。如本博客右边栏的 关于 就是一篇page。

  2. post:通常是网站中的动态内容,它们按时间顺序排列,以反映最新的更新。其可以有不同的分类或标签,以便组织和检索相关内容。如 本文主页归档 下的所有文章都是post。

使用hexo+github建立个人博客

用github搭建个人博客不需要考虑购买服务器,注册域名以及备案等等。本文介绍使用开源框架hexo来生成个人博客,整个流程不需要有前端或者后端基础,只要会用git和代码编辑器就行。