Angular中的Authguard弹出窗口被浏览器阻止
创始人
2024-10-31 02:30:20
0

在调用弹出窗口的地方添加用户事件(比如监听点击事件),然后在回调函数中打开弹出窗口。这样浏览器就不会将其视为无效弹出窗口。

示例代码:

import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class AuthGuard implements CanActivate {
  constructor(private router: Router) {}
  
  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {
  
    return this.checkLogin().then((isLoggedIn) => {
      if (isLoggedIn) {
        return true;
      } else {
        // 添加用户事件
        document.addEventListener('click', () => {
          // 在回调函数中打开弹出窗口
          window.open('https://example.com/login');
        });
  
        return false;
      }
    });
  }

  checkLogin(): Promise {
    // 实现登录判断逻辑
  }
}

注意:这种解法并不是在所有浏览器中都适用,因为一些浏览器可能对用户事件也进行拦截。对于这种情况,最好的解决方案是不要使用弹出窗口,而是使用模态框或其他交互组件。

相关内容

热门资讯

分享一款!佛手在线是不是有挂,... 分享一款!佛手在线是不是有挂,wepoker辅助器,曝光教程(有挂技巧)1、许多玩家不知道佛手在线是...
必看攻略!hhpoker破解工... 必看攻略!hhpoker破解工具,哈糖大菠萝有挂吗5个常用方法,技巧教程(有挂透明);哈糖大菠萝有挂...
分享一款!佛手在线有挂吗,wp... 分享一款!佛手在线有挂吗,wpk透视工作室,必备教程(有挂神器);大神普及一款德州ai内幕,确定了佛...
实测教程!wepoker透视是... 实测教程!wepoker透视是真的吗,wepoker国外版透视,wpk教程(有挂辅助)1、玩家可以在...
科普分享!约局吧游戏挂,德州真... 科普分享!约局吧游戏挂,德州真人透视脚本,科技教程(有挂教程);玩家必备必赢加哟《136704302...
推荐一款!wejoker辅助软... 推荐一款!wejoker辅助软件,wepoker能不能透视,wepoke教程(有挂方法)关于wepo...
实测交流!HH平台挂,aapo... 实测交流!HH平台挂,aapoker辅助怎么用,解密教程(有挂透视)1、很好的工具软件,可以解锁游戏...
终于知道!拱趴游戏破解器,po... 终于知道!拱趴游戏破解器,pokemmo脚本辅助,教你教程(有挂攻略);原来确实真的有挂(需添加指定...
避坑细节!hhpoker德州挂... 避坑细节!hhpoker德州挂真的有吗,wejoker免费脚本,规律教程(有挂教程);实战中需综合运...
玩家亲测!hhpoker作弊实... 玩家亲测!hhpoker作弊实战视频,wepoker怎么挂飞机,新2025教程(有挂攻略);人气非常...