Removes unused selectors from all stylesheets on a page and combines the result into a single stylesheet that can be downloaded
CSS remove and combine Extension
This extension removes unused CSS rules on a page by creating a new CSS stylesheet containing only those selectors in use. This not only tidies and optimizes your stylesheets but combines them into a single file which can then be downloaded. The approach used by the extension is based on eliminating all ID and class based selectors that reference IDs and classes not on the page. There is also a quick view dialog that will give the user information on a page about the number of used and unused selectors. There is also now a report on the unused selectors which can be used to verify that the extension is working as described.
There is an issue reported in a review that the extension opens links to other websites. I can't see how this can be possible. The extension gets a list of stylesheets. This list is a property of the webpage document object. It then trys to open each stylesheet. If the stylesheet is on another domain, then nothing will be returned. In this way the extension cannot open any page on another domain. There is development code to get around this problem, but it is not yet active.
The \"WebKitBlobBuilder\" issue has now been solved. This rendered the extension unusable - thus all the negative feedback. Sorry that I couldn't fix the problem earlier as I was unfortunately sick for a long while. The \"WebKitBlobBuilder\" error was due to a change (quite reasonable) in chrome to remove support for the \"WebKitBlobBuilder\" property in favour of the standard \"BlobBuilder\".
Please let me know if the extension is working as advertised. You can contact me through the normal extension feedback system or at [email protected]
0.2.0.0: Added Unused Selector Report
0.1.2.0: Multiple window issue fixed
0.1.1.0: 'WebKitBlobBuilder' issue fixed
Issues:
1: Stylesheets on a different domain report no selectors. Message will print out saying no selectors found. Under development.
2: Ajax or JavaScript added elements not accounted for. Under development
3: Media queries not respected.
Read more
There is an issue reported in a review that the extension opens links to other websites. I can't see how this can be possible. The extension gets a list of stylesheets. This list is a property of the webpage document object. It then trys to open each stylesheet. If the stylesheet is on another domain, then nothing will be returned. In this way the extension cannot open any page on another domain. There is development code to get around this problem, but it is not yet active.
The \"WebKitBlobBuilder\" issue has now been solved. This rendered the extension unusable - thus all the negative feedback. Sorry that I couldn't fix the problem earlier as I was unfortunately sick for a long while. The \"WebKitBlobBuilder\" error was due to a change (quite reasonable) in chrome to remove support for the \"WebKitBlobBuilder\" property in favour of the standard \"BlobBuilder\".
Please let me know if the extension is working as advertised. You can contact me through the normal extension feedback system or at [email protected]
0.2.0.0: Added Unused Selector Report
0.1.2.0: Multiple window issue fixed
0.1.1.0: 'WebKitBlobBuilder' issue fixed
Issues:
1: Stylesheets on a different domain report no selectors. Message will print out saying no selectors found. Under development.
2: Ajax or JavaScript added elements not accounted for. Under development
3: Media queries not respected.
Source Manifest.json
{"update_url": "https://clients2.google.com/service/update2/crx", "name": "CSS remove and combine", "short_name": "CSS remove", "version": "0.2.0.2", "browser_action": { "default_icon": "file_CSS.png", "default_popup": "popup.html" }, "background": { "scripts": ["background.js"] }, "description": "Removes unused selectors from all stylesheets on a page and combines the result into a single stylesheet that can be downloaded", "icons": { "128": "images/icon128.png", "16": "images/icon16.png", "32": "images/icon32.png", "48": "images/icon48.png" }, "permissions": [ "tabs", "http://*/*", "https://*/*" ], "manifest_version":2}
Read more