From c21a0aa855f61daaca458e16b47f95278898beb4 Mon Sep 17 00:00:00 2001 From: Chocobozzz <me@florianbigard.com> Date: Thu, 2 Sep 2021 09:31:07 +0200 Subject: Display a message in embed on unsupported web browser --- client/src/standalone/videos/embed.html | 26 ++++++++++++++++++++++++++ client/src/standalone/videos/embed.ts | 14 +++++++------- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/client/src/standalone/videos/embed.html b/client/src/standalone/videos/embed.html index 3455b4aa4..8ec03d199 100644 --- a/client/src/standalone/videos/embed.html +++ b/client/src/standalone/videos/embed.html @@ -44,5 +44,31 @@ <div id="placeholder-preview"></div> + <script type="text/javascript"> + // Can be called in embed.ts + window.displayIncompatibleBrowser = function () { + const text = 'The player is not compatible with your web browser. Please try latest Firefox version.' + + document.title = 'Sorry' + ' - ' + text + + const errorBlock = document.getElementById('error-block') + errorBlock.style.display = 'flex' + + const errorTitle = document.getElementById('error-title') + errorTitle.innerHTML = 'Sorry' + + const errorText = document.getElementById('error-content') + errorText.innerHTML = text + } + + window.onerror = function () { + window.displayIncompatibleBrowser() + } + + if (/MSIE|Trident/.test(window.navigator.userAgent) ) { + window.displayIncompatibleBrowser() + } + </script> + </body> </html> diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts index 36480922e..a6f0b2ed9 100644 --- a/client/src/standalone/videos/embed.ts +++ b/client/src/standalone/videos/embed.ts @@ -258,12 +258,8 @@ export class PeerTubeEmbed { } async init () { - try { - this.userTokens = Tokens.load() - await this.initCore() - } catch (e) { - console.error(e) - } + this.userTokens = Tokens.load() + await this.initCore() } private initializeApi () { @@ -791,4 +787,8 @@ export class PeerTubeEmbed { } PeerTubeEmbed.main() - .catch(err => console.error('Cannot init embed.', err)) + .catch(err => { + (window as any).displayIncompatibleBrowser() + + console.error('Cannot init embed.', err) + }) -- cgit v1.2.3