gpt4 book ai didi

javascript - 如何检测浏览器是否支持window.close?

转载 作者:行者123 更新时间:2023-11-28 00:00:25 32 4
gpt4 key购买 nike

我正在构建一个应用程序,其身份验证流程如下

  • 用户点击登录按钮
  • 登录窗口打开。
  • 用户会被重定向到 Facebook、Google 或 Twitter,具体取决于窗口的查询字符串。
  • 当用户从 fb/google/twitter 返回时,我的后端会生成一个身份验证 token ,弹出窗口使用 postMessage 将身份验证 token 发送到主页,以验证来源
  • 主页收到 token 后关闭窗口。

此流程在桌面设备上效果很好,但在移动浏览器中效果不佳,其中 window.open 打开一个无法以编程方式关闭的新选项卡。

在移动设备上,我可以将用户重定向到登录屏幕,并将其与哈希片段中的身份验证 token 一起发回(oauth2 隐式流),但我只想在必要时这样做。如何在不嗅探浏览器的情况下检测 window.close 是否有效?

我尝试过的

我尝试过使用基于 HTML/JS 的模式对话框,其中包含 iframe,但 Google 的登录页面不允许将其嵌入 iFrame,我还没有尝试过其他提供商

最佳答案

您可以检查对象检测是否支持window.close():

if (window.close) {
alert ('window close is supported');
}

执行不带括号 () 的检查,因为您不想执行该函数,但想要检查该函数/对象是否存在。

关于javascript - 如何检测浏览器是否支持window.close?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31860211/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com