2020-12-25 01:26:24 +01:00
|
|
|
import browser from "vuex-webextensions/dist/browser";
|
|
|
|
|
2020-04-13 15:20:29 +02:00
|
|
|
if (process.env.CHANNEL !== 'stable') {
|
2020-12-03 01:16:57 +01:00
|
|
|
console.info('Loaded BrowserDetect');
|
2020-04-13 15:20:29 +02:00
|
|
|
}
|
|
|
|
|
2020-12-30 15:35:54 +01:00
|
|
|
function detectEdgeUA() {
|
|
|
|
return /Edg\/(\.?[0-9]*)*$/.test(window.navigator.userAgent);
|
|
|
|
}
|
|
|
|
|
|
|
|
function getBrowserObj() {
|
|
|
|
return process.env.BROWSER === 'firefox' ? browser : chrome;
|
|
|
|
}
|
|
|
|
|
2021-01-21 00:20:43 +01:00
|
|
|
function getRuntime() {
|
|
|
|
return process.env.BROWSER === 'firefox' ? browser.runtime : chrome.runtime;
|
|
|
|
}
|
|
|
|
|
2020-12-30 15:35:54 +01:00
|
|
|
function getURL(url) {
|
|
|
|
return process.env.BROWSER === 'firefox' ? browser.runtime.getURL(url) : chrome.runtime.getURL(url);
|
|
|
|
}
|
2018-12-30 23:16:09 +01:00
|
|
|
|
2019-05-09 21:08:00 +02:00
|
|
|
const BrowserDetect = {
|
|
|
|
firefox: process.env.BROWSER === 'firefox',
|
2020-12-30 15:35:08 +01:00
|
|
|
anyChromium: process.env.BROWSER !== 'firefox',
|
2019-05-09 21:08:00 +02:00
|
|
|
chrome: process.env.BROWSER === 'chrome',
|
|
|
|
edge: process.env.BROWSER === 'edge',
|
2019-11-02 21:58:55 +01:00
|
|
|
processEnvBrowser: process.env.BROWSER,
|
2020-05-16 20:31:56 +02:00
|
|
|
processEnvChannel: process.env.CHANNEL,
|
2020-12-30 15:35:54 +01:00
|
|
|
isEdgeUA: detectEdgeUA(),
|
|
|
|
browserObj: getBrowserObj(),
|
2021-01-21 00:20:43 +01:00
|
|
|
runtime: getRuntime(),
|
2020-12-30 15:35:54 +01:00
|
|
|
getURL: (url) => getURL(url),
|
2019-05-09 21:08:00 +02:00
|
|
|
}
|
2018-12-30 23:16:09 +01:00
|
|
|
|
2020-04-13 15:20:29 +02:00
|
|
|
if (process.env.CHANNEL !== 'stable') {
|
2020-12-03 01:16:57 +01:00
|
|
|
console.info("BrowserDetect loaded:\n\nprocess.env.BROWSER:", process.env.BROWSER, "\nExporting BrowserDetect:", BrowserDetect);
|
2018-12-30 23:16:09 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export default BrowserDetect;
|