[英]Chrome Extension - Request Optional Permissions for current tab
我正在尝试要求当前来源的选项卡许可。 例如:我在http://stackoverflow.com上 ,单击徽章,然后从弹出窗口单击按钮,我应该得到一个提示框,允许在此选项卡上进行操作。
我在做什么:
\n ...\n “权限”:[“标签”,“ contextMenus”],\n “ optional_permissions”:[ "<all_urls>"
],\n ...\n
弹出
$('#reqPermision')。click(function()\n {\n bg.reqPerm(url);\n });
背景
函数reqPerm(url)\n {\n chrome.permissions.request({permissions:['tabs'],origin:[url]},功能(已授予)\n {\n log('permision:',已授予)\n });\n }
我得到的是:
Permissions.request期间出错:扩展清单中必须列出可选权限。
如果我在“ optional_permissions”数组中手动设置了url (在此示例中为https://stackoverflow.com/ ) ,则一切都按我的需要工作。
当前这是不可能的,您只能请求对清单中已明确列出的URL的权限。 但是, 此功能请求应使您要执行的操作(单击浏览器操作时自动授予权限)可行。
您要尝试执行的操作应该可以。 在弹出的代码应该是:
$('#reqPermision').click(function() {
chrome.permissions.request({origins: [url]}, function (granted) {
log('permision:', granted)
});
});
您无需从后台页面调用它。
但是,最好使用像webext-domain-permission-toggle这样的模块,因为它将为您处理整个UI。
首先,不允许使用//的可选权限//代码中出现错误,然后您需要在执行此操作的可选权限数组中指定tab权限
"permissions": ["tabs", "contextMenus"], "optional_permissions": [ "<all_urls>" ],
你这样做
"permissions": [, "contextMenus"], "optional_permissions": [ 'tabs' ,<any other permission you want>],
第三,您应该在请求权限之前检查它,并且它未被授予,那么您应该请求它引用google可选权限
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.