1

我试图要求当前来源的选项卡权限。 例如:我在http://stackoverflow.com上,点击徽章,然后在弹出的按钮上,我会看到一个提示框,以便在此选项卡上进行操作。Chrome扩展程序 - 请求可选权限为当前选项卡

我在做什么:

  • 清单
     
    ... 
    "permissions": ["tabs", "contextMenus"], 
    "optional_permissions": [ "<all_urls>" ], 
    ... 
    
  • 弹出

     $('#reqPermision').click(function() 
    { 
        bg.reqPerm(url); 
    });

  • 背景

     function reqPerm(url) 
    { 
        chrome.permissions.request({permissions: ['tabs'], origins: [url]}, function (granted) 
        { 
         log('permision:', granted) 
        }); 
    }

什么我越来越:

permissions.request期间出错:必须在扩展清单中列出可选权限。

如果我手动设置URL (在本例https://stackoverflow.com/)在 “optional_permissions” 阵列,所有工作我怎么需要。

+0

有可能还没有办法做到这一点呢。如果你使用'*:// */*'而不是''呢? – apsillers 2012-04-16 17:29:13

+0

符合chrome的api这是同样的事情。是的,我已经尝试过了,结果是一样的。 – flienteen 2012-04-16 22:02:17

+0

然后,是的,您应该添加[功能请求](http://code.google.com/chrome/extensions/faq.html#faq-fea-02),以便将域添加为可选权限而无需在清单中列出该域(或列出该域的超集,例如'*:// *。google.com/*'允许对*:// maps.google.com/*'的请求)。 – apsillers 2012-04-17 00:13:56

回答

1

目前这是不可能的,您只能请求清单中明确列出的URL的权限。但是,this feature request应该使您正在尝试执行的操作(在单击浏览器操作时自动授予权限)可行。

+1

为了记录,['activeTab'权限](https://developer.chrome.com/extensions/activeTab)已被执行。 – Xan 2014-09-16 08:14:04

-2

是不允许//错误代码 首先可选许可,其次,你需要可选许可 的数组你这样做

"permissions": ["tabs", "contextMenus"], "optional_permissions": [ "<all_urls>" ],

在指定选项卡允许你做这样的

"permissions": [, "contextMenus"], "optional_permissions": [ 'tabs' ,<any other permission you want>],

第三,你才应该检查申请许可并没有授予那么你SH ould要求它 refrating google optional permission

相关问题