【问题标题】:Chrome extension popup closed after requesting permissions请求权限后关闭 Chrome 扩展弹出窗口
【发布时间】:2020-09-24 20:49:01
【问题描述】:

我正在从 popup 上下文中开发的 Chrome 扩展程序调用此 API:

chrome.permissions.request({
  origins: [`https://google.com/`]
}, console.log)

但是,每当 Chrome 通过其本机警报要求用户允许或拒绝权限时,我的扩展弹出窗口会在 Google 的警报消失后关闭,因此我无法完成注册流程。

如果用户已经提供了此域的权限,则不会提示用户,我得到console.log(true) 并且我的弹出窗口没有关闭。

我做错了什么,如果没有,是否有解决此问题的方法?

【问题讨论】:

  • 尝试从后台页面请求权限。
  • 感谢@IvánNokonoko,我尝试发送一条消息请求后台脚本的权限,但同样的行为发生了。
  • 嗯,就是这样。您可以通过 chrome.windows.create 使用加载请求权限的 js 的 html 创建一个新窗口。

标签: google-chrome-extension


【解决方案1】:

I made an issue in Chromium,他们的团队至少知道这个问题。希望会在某个时候发布!

我的临时修复只是将*://*/ 设为必需权限而不是可选权限。然后我不需要在运行时向用户请求权限。这告诉用户“这个扩展可以访问所有网站”,但至少用户体验并不糟糕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多