paulshryock / clean-up-the-web Goto Github PK
View Code? Open in Web Editor NEWClean Up the Web removes certain HTML elements from websites which provide an unpleasant user experience.
License: Other
Clean Up the Web removes certain HTML elements from websites which provide an unpleasant user experience.
License: Other
Explore ways to make websites try to meet WCAG standards if they do not already.
mutationObserver
used?Sometimes certain websites will inject 3rd party scripts and DOM elements after the page has loaded (and sometimes at regular intervals). mutationObserver
is used to observe the DOM over time for any new elements added and remove them if they match certain CSS selectors.
Review this StackOverflow answer and do some additional research and testing for ways to optimize how mutationObserver is used for best performance and least use of resources.
Explore whether or not it should be allowed to always observe, or whether it should disconnect automatically after a particular number of seconds (or any other event/circumstance).
Are there are any native window
or document
events that could trigger a reconnect if the DOM should be reviewed for new elements? Or would it be too late to observe what has already changed...
Measure any performance differences, and test on many different kinds of websites.
Lint files before committing.
Lint and compile files before pushing.
Hi @paulshryock ,
Firstly, thank you for your Clean-Up-the-Web (CUTW).
I would like to understand better your add-on, so please allow me the following simple questions:
Is CUTW a blocker or a hider add-on? I mean, does CUTW block web requests? Or does CUTW hide web elements (cosmetic function)?
If CUTW blocks web requests, what exactly does CUT block? At main.js file I can see "ad", "Ad", "AD", "adfuel", "adblock", "DisplayAd", "onetrust", "sap-insights", "cookie"... but I don't have knowledge to understand if CUTW blocks just that stuff, or where CUTW blocks that stuff etc.
What makes CUTW better than other blocker add-ons?
Thanks in advance!
'[id^="ad-"]'
'[id^="ad_"]'
'[id^="Ad-"]'
'[id^="Ad_"]'
'[id^="AD-"]'
'[id^="AD_"]'
'[id$="-ad"]'
'[id$="_ad"]'
'[id$="-Ad"]'
'[id$="_Ad"]'
'[id$="-AD"]'
'[id$="_AD"]'
'[id*="adfuel"]'
'[id*="adblock"]'
'[id*="DisplayAd"]'
'[id*="onetrust"]'
'[id*="sap-insights"]'
'[id*="cookie"]'
'[id="taw"]'
'[class^="ad-"]'
'[class^="ad_"]'
'[class^="Ad-"]'
'[class^="Ad_"]'
'[class^="AD-"]'
'[class^="AD_"]'
'[class$="-ad"]'
'[class$="_ad"]'
'[class$="-Ad"]'
'[class$="_Ad"]'
'[class$="-AD"]'
'[class$="_AD"]'
'[class*="adfuel"]'
'[class*="adblock"]'
'[class*="DisplayAd"]'
'[class*="onetrust"]'
'[class*="sap-insights"]'
'[class*="cookie"]'
'[class="taw"]'
Update semver in manifest.json
and CHANGELOG.md
based on package.json
during release.
Add controls for the user to:
Explore what is the best method for storing user preferences (i.e., sessionStorage
, localStorage
, cookies, etc.) while using the least amount of resources, and giving the user the most control over what is saved, if anything.
If a website has large bits of text with:
Explore what it would look like to make minor ("unopinionated") typographic adjustments automatically so that text is easier to read. Changes should be unobtrusive and should serve to enhance and improve what already exists, rather than trying to redesign other people's websites more to my own taste as a designer.
1.0.0
)A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.