簡體   English   中英

Chrome擴展程序-請求“當前”標簽的可選權限

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM