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 {
    // 实现登录判断逻辑
  }
}

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

相关内容

热门资讯

黑科技脚本!德扑之星系统发牌机... 自定义wepokeai代打系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,...
黑科技肯定!aapoker透明... 黑科技肯定!aapoker透明挂辅助器(德扑ai智能机器人)切实真的是有挂(有挂细节)-哔哩哔哩1、...
黑科技好友!wepoke真的有... 您好,aapoker发牌机制这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
辅助黑科技!wepoke辅助德... 辅助黑科技!wepoke辅助德之星(德州ai辅助软件)一直是真的有挂(有挂神器)-哔哩哔哩是一款可以...
黑科技好友!云扑克德州辅助器免... 黑科技好友!云扑克德州辅助器免费(aapokerai辅助)真是存在有挂(真的有挂)-哔哩哔哩1、aa...
黑科技真的!来玩app辅助(德... 黑科技真的!来玩app辅助(德扑ai智能机器人线上代打)其实有挂(有挂规律)-哔哩哔哩1、金币登录送...
黑科技新版!推扑克辅助器(德州... 黑科技新版!推扑克辅助器(德州ai软件购买)真是存在有挂(有挂方式)-哔哩哔哩;无聊就玩这款德州ai...
黑科技教程!pokerist有... 您好,wepoke透明黑科技这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
黑科技肯定!fishpoker... 黑科技肯定!fishpoker大菠萝外挂(aapoker发牌机制)切实真的有挂(有挂秘笈)-哔哩哔哩...
黑科技有挂!pokernow可... 黑科技有挂!pokernow可以加注(德扑ai软件靠谱吗)往昔是真的有挂(有挂教程)-哔哩哔哩是一款...