我有两个弹出模式,允许用户选择一种语言。
如果:
#buy-now
模式。#languages
模态,然后单击“立即购买”链接,不应弹出#buy-now
模态(因为我们已经知道用户使用的语言) )。我已经为#buy-now
模态设置了一个名为buyLang
的cookie。当用户单击立即购买链接并从模式中选择一种语言时,它将设置buyLang
cookie:var buyLang = $.cookie('buyLang');
为简化起见,我想:
language-selected
的cookie。创建language-selected
cookie(并且buyLang
cookie不存在)后,请创建两个具有相同值的cookie。buyLang
cookie后,请使用相同的值创建language-selected
cookie(这样,用户不必再次选择语言)。解决此问题的最佳方法是什么?
答案 0 :(得分:1)
您的问题有点复杂,我不明白您的意思,但是只要您要管理cookie,就可以使用js-cookie库。
示例:
HTML:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<select id="selectListLanguage">
<option value="en">English</option>
<option value="id">Indonesia</option>
</select>
<button id="btnSubmitLanguage">Change</button>
JS:
function btnSubmitLanguageOnClick() {
const newLanguage = $("#selectListLanguage option:selected").val();
if (!Cookies.get("language-selected")) {
Cookies.set("language-selected", newLanguage);
}
if (!Cookies.get("buyLang")) {
Cookies.set("buyLang", newLanguage);
}
// You can set the language of the page contents in server side with reload this page
location.reload();
}
$("#btnSubmitLanguage").click(btnSubmitLanguageOnClick);