Javascript 使用会话存储保存暗模式
我成功地添加了黑暗模式到我的网站使用 JS: 但是,当刷新页面时,主题会明显切换回原来的位置。 我不知道如何使用sessionstorage在域上保持暗模式 有人能帮我吗?Javascript 使用会话存储保存暗模式,javascript,html,css,mode,sessionstorage,Javascript,Html,Css,Mode,Sessionstorage,我成功地添加了黑暗模式到我的网站使用 JS: 但是,当刷新页面时,主题会明显切换回原来的位置。 我不知道如何使用sessionstorage在域上保持暗模式 有人能帮我吗? 谢谢 您可以使用本地存储来存储数据 function darkmode(){ $('body').addClass('dark-mode'); localStorage.setItem("mode", "dark"); } function nodark(){ $('body'
谢谢 您可以使用本地存储来存储数据
function darkmode(){
$('body').addClass('dark-mode');
localStorage.setItem("mode", "dark");
}
function nodark(){
$('body').removeClass('dark-mode');
localStorage.setItem("mode", "light");
}
if(localStorage.getItem("mode")=="dark")
darkmode();
else
nodark();
$('#mode').change(function(){
if ($(this).prop('checked'))
{
darkmode();
}
else
{
nodark();
}
});
是否需要使用会话存储?cookie或本地存储可以替代吗?我不在乎它是如何保存的,我不是js中最好的,我也不知道什么是最好的想法,因为cookie是一种过时的存储某些数据的方法,由于您不希望发送请求以及大量对服务器无用的无意义数据…使用此代码时,默认情况下将启用暗模式,当更改为默认主题后刷新时,将切换回暗模式。此外,我使用的开关被设置为默认值,即使黑暗模式已启用。有解决方案吗?嗯,它在fiddle中可以工作,但在dreamweaver或我的服务器上发布后似乎不起作用。重新加载后,主题将保持白色。清除服务器浏览器的缓存并再次运行此Innope,没有结果。我甚至在我的手机和另一台电脑上试用过。刷新后,它只会变回默认主题
function darkmode(){
$('body').addClass('dark-mode');
localStorage.setItem("mode", "dark");
}
function nodark(){
$('body').removeClass('dark-mode');
localStorage.setItem("mode", "light");
}
if(localStorage.getItem("mode")=="dark")
darkmode();
else
nodark();
$('#mode').change(function(){
if ($(this).prop('checked'))
{
darkmode();
}
else
{
nodark();
}
});