首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cookie运行"oneClick“

如何使用cookie运行"oneClick“
EN

Stack Overflow用户
提问于 2019-07-12 08:08:00
回答 1查看 41关注 0票数 1

我的网站有两个主要特点:第一,它支持带有/和没有macOS/iOS的黑暗模式(在网站上有一个切换),我使用不同的标签javascript作为网站的翻译。现在我想要一个函数,保存/获取一个cookie,它首先保存是否手动切换黑暗模式,并保存最后单击的语言,因为当您进入一个新页面时,黑暗模式应该是打开或关闭的,并且应该只显示最后一种选择的语言。

我已经在javascript中尝试过用于cookie的genreal /save函数,但我不知道如何将这些函数准确地应用到我的代码中。

这是我的实际script.js,没有cookie-函数:

代码语言:javascript
复制
function openCity(evt, langName) {
  // Declare all variables
  var i, tabcontent, tablinks;

  // Get all elements with class="tabcontent" and hide them
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }

  // Get all elements with class="tablinks" and remove the class "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(langName).style.display = "block";
  evt.currentTarget.className += " active";
}

  document.getElementById("index").click();

//Darkmode

  $('#mode').change(function(){

    var os2 = new Audio('../images/os2.mp3');
    var dmmodus = new Boolean([false])

      if ($(this).prop('checked'))
      {
          $('body').addClass('dark-mode');
          os2.play();
      }
      else
      {
          $('body').removeClass('dark-mode');
      }

  });


  //kontakt
  document.getElementById('options').onchange = function() {
  var i = 1;

  var myDiv = document.getElementById(i);
  while (myDiv) {
    myDiv.style.display = 'none';
    myDiv = document.getElementById(++i);
  }
  document.getElementById(this.value).style.display = 'block';
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-12 08:15:06

使用localStorage代替。只有当您需要将设置与后端通信时,才需要使用Cookies。

尝尝这个

代码语言:javascript
复制
$('#mode').on("change",function() {
  var darkMode = $(this).prop('checked');
  localStorage.setItem("mode",darkMode?"dark":"") 
  $('body').toggleClass('dark-mode',darkMode);
  if (darkMode) {
    new Audio('../images/os2.mp3').play();
  }
}).prop("checked",localStorage.getItem("mode") == "dark")
  .change(); // initialise from localStorage
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57002763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档