index.ts 896 B

12345678910111213141516171819
  1. export const toggleTheme = (scopeName = "theme-default") => {
  2. let styleLink: any = document.getElementById("theme-button");
  3. if (styleLink) {
  4. // 假如存在id为theme-button 的link标签,直接修改其href
  5. styleLink.href = `/${scopeName}.css`;
  6. // 注:如果是removeCssScopeName:true移除了主题文件的权重类名,就可以不用修改className 操作
  7. document.documentElement.className = scopeName;
  8. } else {
  9. // 不存在的话,则新建一个
  10. styleLink = document.createElement("link");
  11. styleLink.type = "text/css";
  12. styleLink.rel = "stylesheet";
  13. styleLink.id = "theme-button";
  14. styleLink.href = `/${scopeName}.css`;
  15. // 注:如果是removeCssScopeName:true移除了主题文件的权重类名,就可以不用修改className 操作
  16. document.documentElement.className = scopeName;
  17. document.head.append(styleLink);
  18. }
  19. };