利用 `localstorage` 在首次访问时记录状态,后续加载页面时自动跳过 logo 欢迎屏,实现更流畅的用户体验。无需服务端参与,兼容现代浏览器。
在单页式首页设计中(如带 Logo 入口屏 + 主内容区的两段式布局),用户每次点击导航栏中的“首页”链接都会重新加载 index.html,导致默认回到入口屏——这违背了“已访问即熟悉”的直觉体验。CSS 的 :visited 伪类无法被 JavaScript 读取(出于隐私限制),因

localStorage 是浏览器提供的客户端存储机制,数据长期保存(除非手动清除),且同源页面可共享。我们只需在用户首次完成“进入”操作后写入标记,并在页面加载时检查该标记:
// 页面加载时检查是否已“进入”过
document.addEventListener('DOMContentLoaded', function() {
const hasEntered = localStorage.getItem('hasEnteredHomepage');
if (hasEntered === 'true') {
// 直接显示主内容,隐藏入口屏
document.getElementById('entry-screen').style.display = 'none';
document.getElementById('main-content').style.display = 'block';
} else {
// 显示入口屏(默认状态)
document.getElementById('entry-screen').style.display = 'block';
document.getElementById('main-content').style.display = 'none';
}
});
// “Enter”按钮点击事件
document.getElementById('enter-btn').addEventListener('click', function() {
localStorage.setItem('hasEnteredHomepage', 'true');
document.getElementById('entry-screen').style.display = 'none';
document.getElementById('main-content').style.display = 'block';
});? HTML 结构示意(需确保 ID 匹配): Company Logo Enter
:visited 是纯样式伪类,JavaScript 无法读取其状态——这是浏览器刻意设计的隐私保护机制。真正可行的解法是主动管理用户状态:用 localStorage 标记“已进入”,实现跨会话的智能首屏跳转。简洁、安全、零后端依赖,是现代前端欢迎页体验优化的标准实践。
来电咨询