Closed InterLinked1 closed 2 years ago
Unfortunately :cry: , this has now become the reason the Spotify Web Player is currently producing a blank page in [Chromium<71]-based web browsers:
Above is with 360EEv11, Chromium 69 based, popular among XP+Vista users :stuck_out_tongue_winking_eye: ...
Sample URI: "https://open.spotify.com/show/2XHy0waKckPLULstsawBwP"
FWIW, "Spotify Web" used to load fine ca. 2 months ago, so that's a recent change implemented by them :angry: ; why can't they just let "sleeping dogs lie" ? :rage:
There do actually seem to be a couple polyfills out there for this, e.g.:
However, my attempts at integrating them into this extension thus far have failed. If anyone has the time to figure it out before I do, pull requests are always welcome.
my attempts at integrating them into this extension thus far have failed.
... Same here :disappointed: :cry: - and I'm not a coder!
However, as I am an obstinate person :stuck_out_tongue_winking_eye: , in the end I concocted a Violentmonkey userscript that uses the polyfill.io
online service, achieving the desired effect:
// ==UserScript==
// @name Add Intl.RelativeTimeFormat support
// @version 0.0.1
// @description Polyfills 'Intl.RelativeTimeFormat()', first implemented in Chromium 71
// @namespace polyfill.io
// @include *
// @run-at document-start
// @require https://polyfill.io/v3/polyfill.min.js?features=Intl.RelativeTimeFormat,Intl.RelativeTimeFormat.~locale.en
// @grant none
// ==/UserScript==
<!-- Polyfill Intl.RelativeTimeFormat, its dependencies & 'en' locale data -->
Now the Spotify Web Player does load and function in my Chromium 69 derived browser:
The Spotify ServiceWorker
still doesn't register, but that's a small price to pay...
From my testing, Violentmonkey v2.13.0 is the last fully compatible with Chromium 69; the last fully compatible BETA release is v2.13.0.10; haven't tested how Tampermonkey fares... :wink:
Interestingly, I no longer seem to get this error on the link provided above. Do you know of any other sites that triggered this error? I don't remember off hand.
I no longer seem to get this error on the link provided above.
On May 31st, ca. two days after I posted 2, Spotify revisited their Web Player; minimum browser requirements have been somewhat lowered, to Firefox 60.0 & Chrome 66.0:
https://support.spotify.com/gr/article/web-player-help/
Two observations:
Intl.RelativeTimeFormat()
constructor, so yes, your latest post is right (if you tested in Chrome 70.0). 😜 Do you know of any other sites that triggered this error? I don't remember off hand.
Another site was recently reported in the MSFN forums: https://socialclub.rockstargames.com/
In my Chromium 69.0 fork, the URL yields a blank tab, JS console reports:
Uncaught (in promise) TypeError: Intl.Locale is not a constructor VM388 6340.js:1
at VM388 6340.js:1
at Set.forEach (<anonymous>)
at e.BestFitMatcher (VM388 6340.js:1)
at e.ResolveLocale (VM388 6340.js:1)
at e.match (VM388 6340.js:1)
at e.shouldPolyfill (VM389 intl-should-polyfill.js:1)
at u (VM287 app.js:62)
The URL loads as expected if Intl.RelativeTimeFormat()
support is "introduced" via the userscript I posted in 4 😜 :
This needs a polyfill: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat