This is a possible upcoming feature for mobile Chrome:
If a Data Saver user is on a 2G-speed or slower network according to the NetInfo API, Chrome disables scripts and sends an intervention header on every resource request. Users are shown a UI at the bottom of the screen indicating the page has been modified to save data. Users can enable scripts on the page by tapping “Show original” in the UI.
And the people shout: progressive enhancement!
An excellent idea for people in low-bandwidth situations: automatically disable JavaScript. As long as the site is built with progressive enhancement, there’s no problem (and if not, the user is presented with the choice to enable scripts).
Power to the people!
This reminds me of the importance of a very useful building strategy called “Progressive Enhancement” 👀
— Sara Soueidan (@SaraSoueidan) August 27, 2018
Did you bet on JavaScript or are you gambling with JavaScript?https://t.co/uYULr5F9oj
— Zach Leatherman (@zachleat) August 27, 2018
George Burduli reports:
This is huge news for developing countries where mobile data packets may cost a lot and are not be affordable to all. Enabling NoScript by default will make sure that users don’t burn through their data without knowledge. The feature will probably be available in the Chrome 69, which will also come with the new Material Design refresh.
Unless people are viewing a blog or whats on tv, javascript is crucial for functionality. Try progressive enhancement on Magento or Google maps wiseguys
How does this impact JS libraries like React?
RIP React for websites
Part of me thinks it’s hilarious that people got lazy over these past few years using JS for literally everything. Does this mean we can have fewer libraries and more responsible, standards-compliant code? (Just kidding, what will actually happen is every site will include a “JavaScript must be enabled to view this site” gatekeeping div)
Unless it’s server-rendered.
“Hey google”, How about build it in a way, that this can be overwritten by the author via a header, meta tag or the manifest.json (in cases where the web page only works with JS)