我只是想知道,即使用户只是将URL输入搜索栏,有没有办法检测页面重定向?我知道有选择器,如a[href^="https://some-website.com"
,但是,我正在寻找比这更通用的东西。所有建议都赞赏。
更新:
更具体地说,我的目标是检测是否正在访问特定的URL。然后,如果该用户未登录,则将其重定向到登录URL。我已经有了jQuery来检查用户是否未登录并且页面重定向,我只是缺少URL重定向检测。
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>
所以,这绝对不是最优雅的方式,我不想接受这个作为答案,希望有更好的事情发生。但是,通过使用:
let path = window.location.pathname;
if(path == "/YourPathHere"){
//Some code here
}
只要用户访问该页面,就会执行此操作。我的主要问题是,当我重定向到登录页面后,这会导致2次重定向,并可能使网站上的用户感到困惑。
你应该看看cookie。如果您的用户登录,则设置cookie,例如“Login”= True
然后你在你必须登录的每个网站上检查你的cookie,如果你的cookie“登录”!= true window.location ='url'