javascript - 重定向显示页面一秒钟然后更改
问题描述
我正在尝试阻止非管理员用户访问某些页面。因此,我使用 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”(不用说这两个页面始终可见,根据类型用户)
谢谢你的帮助
编辑:这是一个简单的演示,不是一个严肃的项目
解决方案
您可以将<script>
标签添加到<head>
标签中,以便在页面其余部分的脚本标签之前执行此代码。这样您就可以尽快重定向。看看:https ://www.w3schools.com/js/js_whereto.asp
推荐阅读
- excel - 使用 VBA 将 .xlsx 文件中的唯一值打印和计数到 Excel 工作表中的另一列
- javascript - 将数组中的字符串连接在一起,限制字符重复
- azure - 需要在 csv 文件中添加标题和尾部记录 - Azure 数据工厂
- delphi - 有什么方法可以获取Delphi编译器的子版本
- python-3.x - 我如何解决这个问题?混淆安装 wxpython
- html - 当我只想滚动一个部分时,整个页面都会滚动
- python - If x == y: print z - 为什么我的代码不打印?
- angular - 如何让验证器触发或获取验证器内部的正确控件?
- flutter - 照片被无限像素溢出
- swift - 如何使我的泛型参数符合 Swift 中的 OR 以及如何找到参数的构造?