Spaces:
Running
Running
File size: 804 Bytes
c9536fa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
chrome.runtime.onInstalled.addListener(() => {
chrome.storage.sync.set({ blockedSites: [] });
updateDeclarativeNetRequestRules();
});
chrome.storage.onChanged.addListener((changes, namespace) => {
if (namespace === 'sync' && changes.blockedSites) {
updateDeclarativeNetRequestRules();
}
});
async function updateDeclarativeNetRequestRules() {
const { blockedSites } = await chrome.storage.sync.get('blockedSites');
const rules = blockedSites.map((site, index) => ({
id: index + 1,
priority: 1,
action: { type: 'block' },
condition: {
urlFilter: `||${site}^`,
resourceTypes: ['script']
}
}));
await chrome.declarativeNetRequest.updateDynamicRules({
removeRuleIds: rules.map(rule => rule.id),
addRules: rules
});
} |