首页 > 解决方案 > 重定向显示页面一秒钟然后更改

问题描述

我正在尝试阻止非管理员用户访问某些页面。因此,我使用 localStorage 保存了一个值来识别所述用户的状态,但是当他们尝试访问 admin.html 时,该页面将显示片刻,然后转到我希望他们访问的页面。所以用户都必须检查页面并知道该页面存在,我该如何避免这种情况?

这就是我所拥有的:

CSS

html { visibility: hidden; }

JS

if (localStorage.getItem('Authenticationstate') === 'out') { //if its not logged in
    window.location.href = "index.html";
} else if ((localStorage.getItem('AuthenticationState')) !== 'Admin') { //if its a normal user
    window.location.href = "Dashboard.html";
}else{ // if its admin
    document.getElementsByTagName("html")[0].style.visibility = "visible";
}
$(document).ready(function () {
    createChart();
});

因此,例如,正常或未登录的用户在 URL 中输入“Admin”,Admin 显示的页面然后切换回“Dashboard”或“index”(不用说这两个页面始终可见,根据类型用户)

谢谢你的帮助

编辑:这是一个简单的演示,不是一个严肃的项目

标签: javascripthtml

解决方案


您可以将<script>标签添加到<head>标签中,以便在页面其余部分的脚本标签之前执行此代码。这样您就可以尽快重定向。看看:https ://www.w3schools.com/js/js_whereto.asp


推荐阅读