轶哥

📚 Having fun with AI Agent. Always learning.

CDN加载失败自动切换为加载本地静态资源
  •   更新:2023-04-30 23:50:01
  •   首发:2023-04-30 23:50:01
  •   vscode
  •   1043

在Web开发中,我们通常使用CDN(内容分发网络)来加速网站的静态资源(如CSS和JavaScript文件)加载。然而,CDN有时可能会失效,导致网站加载速度变慢或者无法正常运行。本文将介绍一种优化方案,当HTML中引入的style或JavaScript静态资源CDN失效时,自动切换为加载本地js/css。我们还将介绍一个名为 "CDN to Local Fallback for HTML Files" 的VSCode插件的开发和测试过程,以帮助您更轻松地实现这个方案。

前端静态资源CDN加载失败的优化方案

要实现这个优化方案,我们需要在HTML文件中添加一个特殊的<script>标签,当CDN资源加载失败时,该脚本将自动切换到使用本地资源。具体实现方法如下:

  1. 遍历HTML文件中所有引用外部CSS和JavaScript资源的<link><script>标签。
  2. 下载这些标签所指向的CDN资源,并将其保存到本地目录。
  3. 在每个<link><script>标签中添加一个onerror属性,该属性指向一个名为loadFallbackResource的函数。
  4. 在HTML文件中添加一个<script>标签,该标签包含loadFallbackResource函数的实现,以及一个在页面加载完成后遍历所有带有onerror属性的元素并调用loadFallbackResource的事件监听器。
解决VSCode中Github登录状态无法保存的异常
  •   更新:2022-07-25 12:03:29
  •   首发:2022-07-25 12:03:29
  •   vscode
  •   3373

在MacOS Ventura 13.0 Beta版中,使用VSCode会出现Github登录状态丢失的情况,导致重启/新窗口中需要重复登录Github账号才可以同步UI以及插件等设置。

在VSCode的github authentication插件日志可以看到,每次启动VSCode后,都会从MacOS的钥匙串访问APP中获取登录信息。

[Info  - 03:49:14.381] Reading sessions from keychain...
  上一页 下一页