40 lines
1.1 KiB
JavaScript
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; |