ultrawidify/src/ext/conf/BrowserDetect.js

40 lines
1.1 KiB
JavaScript

import browser from "vuex-webextensions/dist/browser";
if (process.env.CHANNEL !== 'stable') {
console.info('Loaded BrowserDetect');
}
function detectEdgeUA() {
return /Edg\/(\.?[0-9]*)*$/.test(window.navigator.userAgent);
}
function getBrowserObj() {
return process.env.BROWSER === 'firefox' ? browser : chrome;
}
function getRuntime() {
return process.env.BROWSER === 'firefox' ? browser.runtime : chrome.runtime;
}
function getURL(url) {
return process.env.BROWSER === 'firefox' ? browser.runtime.getURL(url) : chrome.runtime.getURL(url);
}
const BrowserDetect = {
firefox: process.env.BROWSER === 'firefox',
anyChromium: process.env.BROWSER !== 'firefox',
chrome: process.env.BROWSER === 'chrome',
edge: process.env.BROWSER === 'edge',
processEnvBrowser: process.env.BROWSER,
processEnvChannel: process.env.CHANNEL,
isEdgeUA: detectEdgeUA(),
browserObj: getBrowserObj(),
runtime: getRuntime(),
getURL: (url) => getURL(url),
}
if (process.env.CHANNEL !== 'stable') {
console.info("BrowserDetect loaded:\n\nprocess.env.BROWSER:", process.env.BROWSER, "\nExporting BrowserDetect:", BrowserDetect);
}
export default BrowserDetect;