permissions 权限
针对声明的可选权限(
optional_permissions
); ———— 请求授予扩展程序某些权限(request
) 针对已授予的权限(permissions
):
- 查询当前扩展程序是否具有某些权限(
contains
)- 移除已授予的权限(
remove
);移除所有已授予的权限(removeAll
);- 监听权限变更(
onAdded
、onRemoved
)
方法
contains() 查询权限
查询当前扩展程序是否具有某些权限
type Permissions = {
permissions: string[];
origins?: string[];
}
chrome.permissions.contains(
permissions: Permissions,
callback?: function,
)
request() 请求权限
请求授予扩展程序某些权限,需要在
manifest.json
中声明optional_permissions
{
"optional_permissions": [
// ...
]
}
type Permissions = {
permissions: string[];
origins?: string[];
}
chrome.permissions.request(
permissions: Permissions,
callback?: function,
)
remove() 移除权限
移除已授予的权限
type Permissions = {
permissions: string[];
origins?: string[];
}
chrome.permissions.remove(
permissions: Permissions,
callback?: function,
)
removeAll() 移除所有权限
移除所有已授予的权限
chrome.permissions.removeAll(
callback?: function,
)
getAll() 获取所有权限
获取所有已授予的权限
chrome.permissions.getAll(
callback?: function,
)
事件
onAdded 添加事件
当权限被添加时触发
// background.js
chrome.permissions.onAdded.addListener((permissions) => {
console.log('🍄 background: >>>>>>>>>>>>>>>>>> 监听添加事件', Date.now(), permissions);
});
onRemoved 移除事件
当权限被移除时触发
// background.js
chrome.permissions.onRemoved.addListener((permissions) => {
console.log('🍄 background: >>>>>>>>>>>>>>>>>> 监听移除事件', Date.now(), permissions);
});