Vifly 的博客是一个JavaScript代码片段,它使用了localStorage来存储和切换网站的颜色主题。当用户访问网站时,这段代码会检查用户的浏览器是否支持dark模式(通过window.matchMedia("(prefers-color-scheme: dark)").matches === !0),并根据当前的主题是dark还是light来设置document.documentElement.dataset.scheme的值。

这段代码的主要功能是:

  1. 使用localStorage.getItem()localStorage.setItem()来获取或设置StackColorScheme的值。
  2. 使用localStorage.getItem()来获取当前的StackColorScheme值,如果不存在则设置为auto
  3. 使用window.matchMedia()来检测用户的浏览器是否支持dark模式。
  4. 根据StackColorScheme的值和dark模式的状态,设置document.documentElement.dataset.schemedarklight
  5. 使用fetch()函数从GitHub API获取一个名为”7a04e2188185ddb19cbd19d8217b9400”的Gist。
  6. 如果请求成功,返回JSON数据;否则抛出错误。

这段代码可能包含一些不安全的操作,例如直接在URL中嵌入脚本,这可能会导致跨站脚本攻击(XSS)。此外,由于这段代码使用了异步操作(如fetch()),因此无法保证在所有浏览器和环境中都能正常工作。