我只是想知道,即使用户只是在搜索栏中输入URL,也可以检测页面重定向吗?我知道有一些选择器,例如a[href^="https://some-website.com"
,但我正在寻找比这更通用的东西。所有建议表示赞赏。
更新:
更具体地说,我的目标是检测是否正在访问特定的URL。然后,如果该用户未登录,则将其重定向到登录URL。我已经有了jQuery,可以检查用户是否未登录以及页面重定向,只是缺少URL重定向检测。
答案 0 :(得分:0)
window.location.replace(...)
优于使用window.location.href,因为replace()
不会将原始页面保留在会话历史记录中,这意味着用户不会陷入永无休止的回退中,按钮惨败。
<form>
<input type="text" class="url">
<input type="submit" class="submit">
</form>
<script>
$(document).ready(function(){
$('.submit').on('click',function(){
// similar behavior as an HTTP redirect
window.location.replace($('.url').val());
// similar behavior as clicking on a link
window.location.href = $('.url').val();
});
});
</script>
答案 1 :(得分:0)
因此,这绝对不是解决此问题的最优雅的方法,我不想接受此作为答案,希望能有更好的解决方案。但是,通过使用:
let path = window.location.pathname;
if(path == "/YourPathHere"){
//Some code here
}
这将在用户进入该页面时执行。就我而言,主要问题是,当我之后重定向到登录页面时,这将导致2次重定向,并可能使网站上的用户感到困惑。
答案 2 :(得分:0)
您应该查看Cookie。如果您的用户登录,则您设置一个cookie,例如“ Login” = True
然后,如果您的cookie是“登录”,则在每个必须登录的站点上检查cookie!= true window.location ='url'