PageSourceSearch

https://flamecho.github.io/js/avatar-toggle.js

js flamecho.github.io collected 2026-10-03 09:12:12 UTC 2,016 bytes, 1 lines download raw bytes

1class AvatarSwitcher{constructor(){this.avatars={day:document.getElementById("avatar-day"),night:document.getElementById("avatar-night"),daySidebar:document.getElementById("avatar-day-sidebar"),nightSidebar:document.getElementById("avatar-night-sidebar")},this.init()}init(){this.checkAvatars(),this.updateAvatars(),this.bindEvents(),this.bindPjax(),console.log("头像切换器已初始化")}checkAvatars(){const t=Object.entries(this.avatars).filter(([t,e])=>!e).map(([t])=>t);t.length>0&&console.warn(`未找到以下头像元素: ${t.join(", ")}`)}getCurrentTheme(){return document.documentElement.getAttribute("data-theme")}isDarkMode(){return"dark"===this.getCurrentTheme()}updateAvatars(){const t=this.isDarkMode();this.avatars.day&&(this.avatars.day.style.display=t?"none":"block"),this.avatars.night&&(this.avatars.night.style.display=t?"block":"none"),this.avatars.daySidebar&&(this.avatars.daySidebar.style.display=t?"none":"block"),this.avatars.nightSidebar&&(this.avatars.nightSidebar.style.display=t?"block":"none")}bindEvents(){const t=document.getElementById("darkmode");t&&t.addEventListener("click",()=>{setTimeout(()=>this.updateAvatars(),150)}),this.observer=new MutationObserver(t=>{t.forEach(t=>{"data-theme"===t.attributeName&&setTimeout(()=>this.updateAvatars(),50)})}),this.observer.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}bindPjax(){document.addEventListener("pjax:send",()=>{this.observer?.disconnect()}),document.addEventListener("pjax:complete",()=>{setTimeout(()=>{this.avatars={day:document.getElementById("avatar-day"),night:document.getElementById("avatar-night"),daySidebar:document.getElementById("avatar-day-sidebar"),nightSidebar:document.getElementById("avatar-night-sidebar")},this.checkAvatars(),this.updateAvatars(),this.bindEvents()},100)})}}document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{window.avatarSwitcher=new AvatarSwitcher},100)}),"undefined"!=typeof module&&module.exports&&(module.exports=AvatarSwitcher);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.