[英]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.