2016-08-18 42 views
1

我們已經擴展與幾個權限:要求使用optional_permissions進行外部連接?

"permissions": [ 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ] 

添加新功能,我們需要添加externally_connectable PERMSSION,應該是這樣的:

"externally_connectable": { 
    "matches": ["*://*.example.com/*"] 
    }, 

似乎都完全在本地工作,但如果我們將此更改上傳到Chrome商店,該擴展程序將被禁用並顯示「新權限」警告,我使用自定義更新網址對其進行了測試,結果很可惜。

有沒有什麼辦法可以在運行時使用optional_permissionschrome.permissions.request來請求這個權限?

編輯:

運行:

chrome.permissions.request({ 
    permissions: ['externally_connectable'], 
    origins: ["*://*.example.com/*"] 
}, function(granted) { 
    console.log('permision:', granted); 
}); 

這個錯誤:

Unchecked runtime.lastError while running permissions.request: 
    'externally_connectable' is not a recognized permission. 

回答

1

根據chrome.permissions API docssource codeexternally_connectable不能是可選的。

+0

是的,這是真的,我想我們是否可以用[這一個]解決它(https://cs.chromium.org/chromium/src/extensions/common/permissions/extensions_api_permissions.cc?rcl=1471534131&l=代碼審查[這裏](https://codereview.chromium.org/599163003/) – ahmed

+1

這不會幫助,它只允許''在[列入白名單的擴展名](https: //codereview.chromium.org/599163003/diff/20001/extensions/common/api/_permission_features.json)。 – wOxxOm