Javascript 如何在所有页面中启用暗模式?

Javascript 如何在所有页面中启用暗模式?,javascript,html,css,Javascript,Html,Css,因此,我有一个JS脚本,当用户按下表示暗模式的按钮时,页面将切换到Dark_theme.css(而不是使用theme.css,即亮模式css),当用户按下亮模式按钮时,页面将切换回theme.css。所以我的问题是,当用户使用darm_theme.css并加载不同的页面或刷新当前页面时,主题会切换回灯光模式。如何以某种方式保存用户的选择/选择 功能交换样式表(表){ document.getElementById('theme').setAttribute('href',sheet); } 我

因此,我有一个JS脚本,当用户按下表示暗模式的按钮时,页面将切换到Dark_theme.css(而不是使用theme.css,即亮模式css),当用户按下亮模式按钮时,页面将切换回theme.css。所以我的问题是,当用户使用darm_theme.css并加载不同的页面或刷新当前页面时,主题会切换回灯光模式。如何以某种方式保存用户的选择/选择

功能交换样式表(表){
document.getElementById('theme').setAttribute('href',sheet);
}
我有一个文件名为theme.css,还有一个文件名为dark_theme.css

…这里有更多html。。。

暗模式亮模式

使用本地存储:

function swapStyleSheet(sheet){
  document.getElementById('theme').setAttribute('href', sheet);
  localStorage.setItem("sheet", sheet);
}

window.onload = _ =>
 swapStyleSheet(
  localStorage.getItem("sheet") || "default.css"
 );

使用localStorage进行以下操作:

function swapStyleSheet(sheet){
  document.getElementById('theme').setAttribute('href', sheet);
  localStorage.setItem("sheet", sheet);
}

window.onload = _ =>
 swapStyleSheet(
  localStorage.getItem("sheet") || "default.css"
 );
你可以用饼干。(此处的Cookie函数:)

你可以用饼干。(此处的Cookie函数:)


这确实有效,但仅适用于index.html和about.html页面,它们与js和2个CSS文件位于同一文件夹中。它在子文件夹中的其他页面上不起作用。@那么你需要绝对URL。这不是代码的问题如何使用绝对URL?这确实有效,但仅适用于index.html和about.html页面,它们与js和2个CSS文件位于同一文件夹中。它在子文件夹中的其他页面上不起作用。@那么你需要绝对URL。这不是代码的问题如何使用绝对URL?