I got a crazy idea this morning.
What if there was middle-man (CDN, proxy, etc) that sits between the browser and the target service and, for each page request, it would act as a headless browser, visiting the target page, running all the JS and doing the rendering, and then dumping the DOM tree to HTML and serving it to the client (with zero JS)?
So the target app could be 100% JS-rendered but it'd look to the browser as though it's just a static HTML page.
(I know that the question then is "doesn't it mean that the website would end up not being interactive because the JS doesn't get delivered to the browser?", but I imagine use cases when it's not really a concern)
Is there any project on the Web that does anything remotely similar to this idea? The core thing is using a headless browser to do all the JS-initiated rendering on the server before the content hits the browser.
E.g. there are people who disable JS by default and enable it for the websites they trust or when the page is completely dead without running JS.
I imagine an improved "Disable JS" function that (1) makes sure your browser doesn't run any JS but (2) ships a normally rendered page.