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

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

相关内容

热门资讯

记者发布!wpK(wepoKE... wepoKE赢率提升策略‌;记者发布!wpK(wepoKE)外挂透明挂辅助器安装(透视)黑科技教程(...
盘点一款(WPK模拟器)外挂透... 盘点一款(WPK模拟器)外挂透明挂辅助工具(透视)软件透明挂(有挂透明挂)-哔哩哔哩是一款可以让一直...
透视app!fishpoker... 透视app!fishpoker扑克(WePoke)外挂透明挂辅助器安装(透视)软件教程(有挂详情)-...
重大来袭(aapoker安卓版... 重大来袭(aapoker安卓版)外挂透明挂辅助脚本(辅助挂)竟然是真的有挂(2020已更新)(哔哩哔...
程序员教你(wpk辅助挂)外挂... wpk辅助挂新手教程相关信息汇总(需添加指定薇757446909获取下载链接);程序员教你(wpk辅...
揭秘!微扑克游戏(wepokE... 揭秘!微扑克游戏(wepokE)外挂透明挂辅助器安装(透视)普及教程(有挂方略)-哔哩哔哩;支持多人...
如何分辨真伪(德州wpk)外挂... 如何分辨真伪(德州wpk)外挂透明挂辅助器(透视)辅助透视(有挂细节)-哔哩哔哩;1分钟了解详细教程...
科技通报!德扑之星抽水(weP... 科技通报!德扑之星抽水(wePOKE)外挂透明挂辅助器安装(辅助挂)细节揭秘(真是有挂)-哔哩哔哩;...
我来教教大家(Wepoke中牌... 我来教教大家(Wepoke中牌率)外挂透明挂辅助app(辅助挂)的确真的有挂(2025已更新)(哔哩...
必看攻略(德州ai智能系统)外... 必看攻略(德州ai智能系统)外挂透明挂辅助软件(辅助挂)发牌规律(有挂方略)-哔哩哔哩;德州ai智能...