自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 预加载属性 preload 与 prefetch 区别

原文链接:https://waynegong.cn/posts/40528.htmlTLDR:preload 告诉浏览器立即加载资源;prefetch 告诉浏览器在空闲时才开始加载资源;preload、prefetch 仅仅是加载资源,并不会“执行”;preload、prefetch 均能设置、命中缓存;正确使用 preload、prefetch 不会导致重复请求;测试 Demowaynegongcn/preload-prefetch优先级修改 index.html 为如下内容:...

2022-02-13 12:32:39 2618

原创 Javascript 中 let 声明的全局变量不在 window 上

原文链接:https://waynegong.cn/posts/42055.htmlGlobalEnv 是一个复合环境,由 global(顶层对象)和 declsEnv(一般声明环境)组合而成。在 ES6 之前,顶层对象的属性与全局变量是等价的,顶层对象的属性与全局变量挂钩,被认为是 JavaScript 语言最大的设计败笔之一。ES6 为了改变这一点,一方面规定,为了保持兼容性,var 命令和 function 命令声明的全局变量,依旧是顶层对象的属性。另...

2022-02-13 12:22:32 1010

原创 Docker 部署 Nginx、frp 实现内网穿透

原文链接:https://waynegong.cn/posts/8279.html由于没有公网 IP,加上黑群晖没有洗白,无法进行外网的远程连接。通过 frp 内网穿透后可以通过 sub.domain.com:xxx 的形式访问到内网的 web 服务,但是带上端口号十分不优雅也难以记忆。在公网服务器上部署 Nginx 反向代理到 frp 的特定端口,即可在使用内网服务时不需要端口号了。服务端部署通过 docker-compose 启动 Dcoker 容器,保持 Nginx 与 frp 两个容...

2022-02-13 00:30:33 1813

原创 使用正则表达式将 markdown 链接转换为 a 链接

背景在使用 markdown 的超链接语法 [text](link) 时,无法支持 <a></a> 标签的其他属性(例如 target、rel)所以希望将现有用 markdown 链接语法的内容批量替换成 <a></a> 标签正则解析通过正则表达式 (?<!!)\[(.*?)\]\((.*?)\) 即可完成匹配,其中 $1 分组为链接文字, $2 分组为链接地址。整个正则表达式分为三部分:第一部分 (?<!!) 向后否定断言,表...

2022-02-13 00:25:53 895

原创 站点 SEO - 基础配置

域名与页面路径为站点配置域名,不要使用 IP 地址;尽可能使用顶级域名,例如 example.com 而非 sub.example.com;为站点的页面配置永久链接,不要使用 query 参数来区分页面;页面路径尽可能简短,减少非必要层级;页面标题 title页面标题 <title>balabala ...</title> 将作为搜索结果的标题显示,在 SEO 中权重占比最高。使用较长的描述性标题,而非一两个单词的;标题长度建议在 55 至 60 个字符之间;避免

2022-02-13 00:15:23 506

原创 Javascript 几种继承方式的差异

原文地址:[https://waynegong.cn/posts/42991.html](https://waynegong.cn/posts/42991.html)虽然 ES6 带来了 class 语法使得实现继承非常方便,但是了解 “老” 的继承实现,对理解 Javascript 还是非常有帮助的。原型链继承实现:父类的实例为子类的原型。// 父类function SuperType () { this.property = true this.array = [1, 2, 3]}

2022-02-12 23:02:23 283

原创 JS CSS 如何阻塞页面渲染

原文地址:[https://waynegong.cn/posts/49203.html](https://waynegong.cn/posts/49203.html)TLDR:CSS 和 JS 都会阻塞页面的 关键渲染路径 ,不同情况下阻塞效果不同:内联 JS 的执行会阻塞 DOM 构建(Layout);外部 JS 的加载和执行都会阻塞 DOM 构建;内联 CSS 的 CSSOM 构建会阻塞渲染树的构建,从而阻塞布局(Layout);外部 CSS 的加载和 CSSOM 构建都会阻塞渲染树的...

2022-02-12 19:44:58 1175

原创 浏览器扩展开发 - Chrome store 自动发布

原文地址:https://waynegong.cn/posts/48515.html背景目前 microsoft-todo-browser-ext 在代码提交到 master 分支后,会自动执行 GitHub Action 进行构建,但发布过程仍然需要人工进行手动发布。为了解决这类重复性操作,减少可能出现的操作失误,将发布过程通过自动化完成。方案当 master 分支触发 tag push 事件后,开始启动 Github Action 进行 CI 构建,构建完成后通过脚本将构建的产物上传到 Chrom

2022-02-12 19:40:40 400

原创 浏览器扩展开发 - i18n 国际化多语言配置

Chrome 浏览器扩展进行 i18n 国际化多语言适配需要进行三处修改:在特定目录按照特定格式编写多语言配置的 messages.json 文件;在 manifest.json 中设置默认语言;修改项目代码,通过 __MSG_messagename__ 或 getMessage 方法获取本地化内容;编写多语言配置多语言文件位于扩展根目录的 _locales/{_localeCode_}/messages.json 路径下支持的 _localeCode_ 可参考 languages....

2022-02-12 19:34:19 862

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除