gpt4 book ai didi

javascript - 登录后在 chrome 扩展中弹出窗口

转载 作者:行者123 更新时间:2023-12-02 16:01:00 25 4
gpt4 key购买 nike

我正在尝试创建具有以下规范的 Chrome 扩展程序:

  1. 安装扩展。 --> 单击扩展图标。
  2. 每次单击图标时,后台脚本都会检查访问 token 是否存在。
  3. 如果访问 token 不存在(这是第一次用户的情况),将显示一个单独的窗口(使用 window.open())提示用户登录。
  4. 如果存在访问 token ,则单击图标后应该会显示 Chrome 扩展弹出窗口。

在我当前的实现中,我没有在manifest.json 中设置默认弹出窗口。如果后台脚本发现存在访问 token ,它将使用 chrome.browserAction.setPopup 设置弹出窗口。但是,只有在我单击该图标两次后才会显示弹出窗口。我知道这是因为它在第一次单击时设置弹出窗口,然后在第二次单击时显示它。但是,有什么办法让它显示在第一个吗?

有没有更好的方法来实现这个逻辑,这样我就不必在每次检测到访问 token 时都设置弹出窗口并要求用户单击两次(在我看来,这对用户来说不太友好)?

谢谢!

最佳答案

经过一天的认真努力。我想出了一个方法来做到这一点。因此,唯一可能执行此操作的方法是将 cookie 中的 accessToken 设置为您的域,并让 chrome 扩展跟踪该域的 cookie。 chrome.cookies.onChanged 中有一个事件 - 这可以让您跟踪任何已更改的 cookie。

所以步骤如下

  1. 将默认弹出窗口设置为登录/注册屏幕
    "browser_action":{"default_popup": "signin.html"},
  2. 在您的background.js中,您有一个函数可以跟踪您的cookie - 并据此更新您的屏幕
  3. 还检查用户是否已在后台脚本首次运行时登录

检查我的要点以了解更多信息 - background.js

关于javascript - 登录后在 chrome 扩展中弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211527/

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