Javascript 如何让我的网站记住哪个CTA被按下重定向

Javascript 如何让我的网站记住哪个CTA被按下重定向,javascript,html,css,button,Javascript,Html,Css,Button,我正在尝试创建一个西班牙语和英语的页面,所以我想做的是创建一个主页,用户必须在其中选择语言,一旦他选择了,我想让页面记住选择了哪种语言,因此,与其再次打开主页,不如打开以前选择的语言 最好的方法是什么 编辑-我尝试了localStorage的建议,我被卡住了,从未使用过JavaScript,所以我应该预见到这一点。我可以用“locale”“es”或“en”编写,但根本无法重定向。 代码如下: <script> (function (){ 'use strict';

我正在尝试创建一个西班牙语和英语的页面,所以我想做的是创建一个主页,用户必须在其中选择语言,一旦他选择了,我想让页面记住选择了哪种语言,因此,与其再次打开主页,不如打开以前选择的语言

最好的方法是什么

编辑-我尝试了localStorage的建议,我被卡住了,从未使用过JavaScript,所以我应该预见到这一点。我可以用“locale”“es”或“en”编写,但根本无法重定向。 代码如下:

<script>
    (function (){
  'use strict';

  var eng = document.querySelector('.eng')

  function setLocalStorage(){
     eng.addEventListener('click', () => {
      localStorage.setItem('locale','en')
    })
  }
  setLocalStorage()

}());
        (function (){
  'use strict';

  var esp = document.querySelector('.esp')

  function setLocalStorage(){
     esp.addEventListener('click', () => {
      localStorage.setItem('locale','es')
    })
  }
  setLocalStorage()

}());
        if (localStorage.getItem('en') === 'en') { window.location='eng.html'; }
        if (localStorage.getItem('es') === 'es') { window.location='esp.html'; }
    </script>

您可以使用本地存储。见:

重新加载页面后,您可以返回值:

localStorage.getItem('locale'); // --> en
注意:在第一次启动时,getItem将返回undefined

您可以将代码更改为:

(function () {
  'use strict';

  const locale = localStorage.getItem('locale');

  if (locale === 'en') {
    window.location = 'eng.html';

  } else if (locale === 'es') {
    window.location = 'esp.html';

  } else {
    // first visit:

    document
      .querySelector('.eng')
      .addEventListener('click', () => {
        localStorage.setItem('locale', 'en')
      });

    document
      .querySelector('.esp')
      .addEventListener('click', () => {
        localStorage.setItem('locale', 'es')
      });    
  }

}());

嘿,马克!我被困在这里了。我编辑了这篇文章。介意看一下吗?非常感谢你的帮助!如果您这样做,您的页面将重新加载:在一个圆圈中,我认为window.location='eng.html';你应该为我们创建一个codepen.io。我真的花了4个小时考虑你应该通过评论回复,而不是编辑你的博文lol新手她,非常感谢!!你是个天才!!!
(function () {
  'use strict';

  const locale = localStorage.getItem('locale');

  if (locale === 'en') {
    window.location = 'eng.html';

  } else if (locale === 'es') {
    window.location = 'esp.html';

  } else {
    // first visit:

    document
      .querySelector('.eng')
      .addEventListener('click', () => {
        localStorage.setItem('locale', 'en')
      });

    document
      .querySelector('.esp')
      .addEventListener('click', () => {
        localStorage.setItem('locale', 'es')
      });    
  }

}());