如果用户有某些 cookie,我想将用户从登录页面重定向到内部页面,我在页面顶部放置了一个脚本,但我仍然一瞬间看到登录页面。
有没有办法让它更快或暂停加载 DOM 的其余部分,以便页面在重定向时不会出现?
<html>
<script src="script/jquery-3.1.1.min.js"></script>
<script src="script/js.cookie.js"></script>
<script>
(function () {
if (Cookies.get("username")) {
$.ajax({
data: {
"username": Cookies.get("username"),
},
url: "login",
success: function (response) {
document.open();
document.write(response);
document.close();
}
});
}
}());
或者,有没有办法让它在对服务器的第一次请求中发送这些 cookie?即当用户请求站点的根 url 时。 (我正在使用 Tomcat)
最佳答案
将整个页面隐藏起来,例如
<div id="login" style="display:hidden">....</div>
如果 cookie 不存在则在代码中显示页面,否则重定向而不显示登录表单
(function () {
if (Cookies.get("username")) {
$.ajax({
data: {
"username": Cookies.get("username"),
},
url: "login",
success: function (response) {
document.open();
$("#login").hide();
document.write(response);
document.close();
}
});
}
else
{
$("#login").show();
}
关于javascript - 加载页面时快速重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155231/