`) were added in 2015, the
.replaceAll() method that facilitates text replacements across an entire string was added in 2020, and optional catch binding approximately in 2018.
That does not mean that some features can not be implemented. Workarounds known as "polyfills" can be used to replicate the behaviour using existing methods that are supported in earlier browser versions. For example,
.replaceAll() can be replicated by code which replaces each occurance of the specified string individually and checks if the string still exists using a
while loop, until the string is no longer found. The
.includes() method can be replicated using
.indexOf(), which have been part of the specification for much longer.
Error handling[edit | edit source]
It is somewhat comparable to traffic lights at a road crossing. If all lights are red, the vehicles do not move and nothing happens. If all lights are green simultaneously, there is a risk of a collision.
Case studies[edit | edit source]
- April 2022
The following is a case study to test the compatibility of major sites on old browsers.
The browser used for this experiment is over seven years old as of writing. In particular, it is the mobile browser Samsung Internet 4.0, which has the browsing engine of Google Chrome 44, released in July 2015.
YouTube[edit | edit source]
As of writing, both YouTube's desktop and mobile sites are, presumably with the help of lots of polyfills, still supported. The performance of the mobile site is acceptable. But it is expectably just borrowed time and the compatibility could be deprecated any time, since other sites such as Dailymotion no longer support Chrome 44 anymore.
Performance on the desktop YouTube site is not that good, possibly because it is heavy. Also, the "YouTube" text of the logo appears blue, and red while pressed (active), meaning it behaves like a hyperlink.
Twitter[edit | edit source]
The web app is still supported in Chrome 44. Even their custom pinch zooming in the image viewer, although it takes somewhat longer to load than on newer browsers.
Dailymotion[edit | edit source]
A blank page appears.
Their embedded player shows the following error:
Dailymotion no longer supports your Internet browser. To continue, please update your Internet browser or try using a different one.
Vimeo[edit | edit source]
Conclusively, YouTube outlasted both Dailymotion and Vimeo, as well as some alt-tech platforms in browser support.
Sites using plyr.js[edit | edit source]
Plyr.js makes use of catch without binding since 2020 or 2021, and as such is also no longer supported in any pre-2018 browser. Though, it may fall back to the browser's default HTML5 player.
VidLii[edit | edit source]
Works fine, since their JS-based player is not so complicated.
Tracle.TV[edit | edit source]
Instagram[edit | edit source]
Instagram uses the React JS framework. In the test, it gets stuck on the splash screen with the light grey camera logo.
Wikipedia / MediaWiki-based sites[edit | edit source]
Everipedia[edit | edit source]
Like Instagram, Everipedia uses React JS, and behaves similarly accordingly. The browser's loading bar gets stuck indefinitely at around 90%, and no content appears. The loading never finishes.
SoundCloud[edit | edit source]
Both desktop and mobile front ends work fine in Chrome 44, though the desktop site has somewhat poor performance.
JW Player[edit | edit source]
- August 2022