Cut the mustard, recently a popular approach to managing progressive enhancement, means a page is placed in one of 3 states:
- full enhanced experience with scripts delivered and running
- synthesised non javascript experience, with scripts suppressed after performing a test of the browser’s capabilities
- actual non javascript experience, where the browser has scripts disabled
Browsers have <noscript>
for delivering a different experience to 3. It would be useful if this mechanism could be used to deliver a noscript experience to 2 too. (see e.g. https://github.com/Financial-Times/ft-origami/issues?utf8=✓&q=is%3Aissue+is%3Aclosed+ctm+noscript and https://github.com/Financial-Times/o-tracking/issues/83 for the hurdles jumped over to try to achieve a similar effect)
What might work would be a javascript API that can be called to force the page into a genuine noscript state, halting javascript execution, the event loop etc. My initial thoughts would be something like window.disableScripting()
, which would only have an effect if some strict criteria were met (e.g. must be called in the first inline script within <head>
)