我有一个Rails应用程序,当用户打开我的网站时,如果它们来自电子邮件中的链接,我会将?email=true
放在URL中。如果网址中有查询,则显示另一个导航栏。
但是,一旦用户单击网站上的其他链接,查询就会消失,并显示旧的导航栏。
如果查询来自电子邮件,如何始终将查询保留在那里?
答案 0 :(得分:1)
我建议您使用javascript并将标志保存在localStorage
或sessionStorage
中。
const navbar = document.getElementById('navbar');
const url = new URL(location.href);
const fromMail = !!url.searchParams.get('email') || !!localStorage.getItem('fromMail');
if (fromMail) {
localStorage.setItem('fromMail', '1');
navbar.classList.add('email-navbar');
} else {
navbar.classList.add('default-navbar');
}