Improve old/bad browser redirect as found for SeaMonkey #352

This commit is contained in:
the-djmaze 2022-04-28 15:12:52 +02:00
parent c78298d1ed
commit 676b3677b9

View file

@ -1,6 +1,5 @@
(doc => {
[].flat || doc.location.replace('./?/BadBrowser');
navigator.cookieEnabled || doc.location.replace('./?/NoCookie');
const
@ -8,6 +7,7 @@ const
app = eId('app'),
admin = app && '1' == app.dataset.admin,
layout = doc.cookie.match(/(^|;) ?rllayout=([^;]+)/) || '',
badBrowser = () => doc.location.replace('./?/BadBrowser'),
loadScript = src => {
if (!src) {
@ -23,6 +23,8 @@ const
});
};
[].flat || badBrowser();
let RL_APP_DATA = {};
doc.documentElement.classList.toggle('rl-mobile', 'mobile' === layout[2] || (!layout && 1000 > innerWidth));
@ -42,7 +44,7 @@ window.rl = {
initData: appData => {
RL_APP_DATA = appData;
const url = appData.StaticLibsJs,
cb = () => rl.app.bootstart(),
cb = () => rl.app ? rl.app.bootstart() : badBrowser(),
div = eId('loading-error'),
showError = msg => {
div.append(' ' + msg);
@ -52,7 +54,7 @@ window.rl = {
loadScript(url)
.then(() => loadScript(url.replace('/libs.', `/${admin?'admin':'app'}.`)))
.then(() => appData.PluginsLink ? loadScript(appData.PluginsLink) : Promise.resolve())
.then(() => rl.app.bootstart
.then(() => rl.app
? cb()
: doc.addEventListener('readystatechange', () => 'complete' == doc.readyState && cb())
)