Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用会话存储保存暗模式_Javascript_Html_Css_Mode_Sessionstorage - Fatal编程技术网

Javascript 使用会话存储保存暗模式

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'

我成功地添加了黑暗模式到我的网站使用

JS:

但是,当刷新页面时,主题会明显切换回原来的位置。 我不知道如何使用sessionstorage在域上保持暗模式

有人能帮我吗?
谢谢

您可以使用本地存储来存储数据

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();
    }

});