From 5fe78adb8766c3a89263372e195526300a3cda14 Mon Sep 17 00:00:00 2001 From: wanhose Date: Wed, 22 Jun 2022 00:01:10 +0200 Subject: [PATCH] fix(browser-extension): browser detection --- .../browser-extension/src/scripts/popup.js | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/packages/browser-extension/src/scripts/popup.js b/packages/browser-extension/src/scripts/popup.js index f932b1e..df0379c 100644 --- a/packages/browser-extension/src/scripts/popup.js +++ b/packages/browser-extension/src/scripts/popup.js @@ -14,6 +14,15 @@ const chromeUrl = 'https://chrome.google.com/webstore/detail/djcbfpkdhdkaflcigib const dispatch = chrome.runtime.sendMessage; +/** + * @constant edgeUrl + * @description Edge Add-ons link + * @type {string} + */ + +const edgeUrl = + 'https://microsoftedge.microsoft.com/addons/detail/hbogodfciblakeneadpcolhmfckmjcii'; + /** * @constant firefoxUrl * @description Firefox Add-ons link @@ -28,7 +37,23 @@ const firefoxUrl = 'https://addons.mozilla.org/es/firefox/addon/cookie-dialog-mo * @type {boolean} */ -const isChromium = chrome.runtime.getURL('').startsWith('chrome-extension://'); +const isChromium = navigator.userAgent.indexOf('Chrome') !== -1; + +/** + * @constant isEdge + * @description Is current browser an instance of Edge? + * @type {boolean} + */ + +const isEdge = navigator.userAgent.indexOf('Edg') !== -1; + +/** + * @constant isFirefox + * @description Is current browser an instance of Firefox? + * @type {boolean} + */ + +const isFirefox = navigator.userAgent.indexOf('Firefox') !== -1; /** * @description Disables or enables extension on current page @@ -95,7 +120,9 @@ const handleContentLoaded = () => { like.addEventListener('click', handleRate); power.addEventListener('change', handlePowerChange); reload.addEventListener('click', handleReload); - store.setAttribute('href', isChromium ? chromeUrl : firefoxUrl); + if (isEdge) store.setAttribute('href', edgeUrl); + else if (isChromium) store.setAttribute('href', chromeUrl); + else if (isFirefox) store.setAttribute('href', firefoxUrl); unlike.addEventListener('click', handleRate); if (location) host.innerText = hostname.replace('www.', ''); if (!enabled) power.removeAttribute('checked');