From 04fcac392067c28a875648bcc3ac234d6ed05b05 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 9 Mar 2022 22:52:58 +0300 Subject: Added autoRedirect off offline instances option --- src/pages/background/background.js | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/pages/background') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index cf893143..f93944e4 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -110,6 +110,52 @@ browser.tabs.onRemoved.addListener((tabId) => { } }); + + + + +browser.webRequest.onResponseStarted.addListener( + details => { + console.log("onResponseStarted"); + let autoRedirect = generalHelper.getAutoRedirect(); + + if (!autoRedirect) return null; + + if (details.statusCode >= 500) { + + const url = new URL(details.url); + let newUrl; + + newUrl = youtubeHelper.changeInstance(url); + + if (!newUrl) newUrl = twitterHelper.changeInstance(url); + + if (!newUrl) newUrl = instagramHelper.changeInstance(url); + + if (!newUrl) newUrl = redditHelper.changeInstance(url); + + if (!newUrl) newUrl = searchHelper.changeInstance(url); + + if (!newUrl) newUrl = translateHelper.changeInstance(url); + + if (!newUrl) newUrl = mediumHelper.changeInstance(url); + + if (!newUrl) newUrl = imgurHelper.changeInstance(url); + + if (!newUrl) newUrl = wikipediaHelper.changeInstance(url) + + if (newUrl) { + browser.tabs.update({ url: '../errors/instance_offline.html' }); + + setTimeout(() => browser.tabs.update({ url: newUrl }), 2000); + } + + + } + }, + { urls: [""], } +) + browser.tabs.onUpdated.addListener( (tabId, changeInfo, _) => { let url; -- cgit 1.4.1