A Chrome extension for blocking unnecessary content on web pages, with extensible rule support.
β Core functionality completed: Block onetrust-consent-sdk.js script
Open Chrome Extensions Page
chrome://extensions/Enable Developer Mode
Load Extension
manifest.json)Confirm Installation
# In Chrome Extensions management page
# Click "Pack extension"
# Select this project root directory
# Install the generated .crx file
[Popup Blocker] logs in browser console for interception detailsThe extension uses three layers of protection:
Blocks script requests from the following domains:
*onetrust-consent-sdk**cdn.cookielaw.org**optanon.blob.core.windows.net**wcpstatic.microsoft.com* (Microsoft Cookie Consent)*consent.cookiebot.com* (Cookiebot)*consent.cookiefirst.com* (CookieFirst)Intercepts before script download for maximum efficiency.
[Popup Blocker] interception logs[Popup Blocker] prefixExample logs:
[Popup Blocker] Content script loaded
[Popup Blocker] Blocked script: https://cdn.cookielaw.org/scripttemplates/otSDKStub.js
[Popup Blocker] Removed element: #onetrust-consent-sdk
{
"manifest_version": 3,
"permissions": ["declarativeNetRequest"],
"host_permissions": ["<all_urls>"],
"declarative_net_request": {
"rule_resources": [
{
"id": "ruleset_1",
"enabled": true,
"path": "rules.json"
}
]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"],
"run_at": "document_start"
}
]
}
// DOM monitoring
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.tagName === "SCRIPT") {
const src = node.src || "";
if (src.includes("onetrust-consent-sdk") || src.includes("cdn.cookielaw.org")) {
console.log("[Popup Blocker] Blocked script:", src);
node.remove();
}
}
});
});
});
// Periodic cleanup
function removeOneTrustElements() {
const selectors = ["#onetrust-consent-sdk", "#onetrust-banner-sdk", "#onetrust-pc-sdk", ".onetrust-pc-dark-filter"];
selectors.forEach(selector => {
document.querySelectorAll(selector).forEach(el => el.remove());
});
document.body.style.overflow = "";
}
setInterval(removeOneTrustElements, 500);
popups-blocker-chrome-extension/
βββ manifest.json # Extension configuration (Manifest V3)
βββ content.js # Content script (2.2KB)
βββ rules.json # declarativeNetRequest rules
βββ README.md # Project documentation
βββ icons/ # Icon resources
β βββ icon16.png # 16x16 icon
β βββ icon48.png # 48x48 icon
β βββ icon128.png # 128x128 icon
β βββ icon.svg # SVG source file
βββ verify.sh # Verification script
chrome://extensions/View Interception Logs
Open Console (F12) β Filter "[Popup Blocker]"
Test Network Interception
Open Network tab β Look for cancelled requests
Verify DOM Cleanup
Open Elements tab β Search "onetrust"
Should find no related elements
Q: Extension not working?
[Popup Blocker] logsQ: How to temporarily disable extension?
chrome://extensions/Q: How to uninstall extension?
chrome://extensions/Current placeholder icons can be customized:
cd icons
# Method 1: Use ImageMagick
brew install imagemagick
convert icon.svg -resize 16x16 icon16.png
convert icon.svg -resize 48x48 icon48.png
convert icon.svg -resize 128x128 icon128.png
# Method 2: Use online tools
# Visit https://www.aconvert.com/image/svg-to-png/
# Upload icon.svg and generate different sizes
declarativeNetRequest: Network request interception<all_urls>: Run on all web pagesMIT License - Free to use and modify
Project Created: November 24, 2025
Minimum Chrome Version: 88+
Status: β
Production Ready