diff --git a/src/assets/javascripts/data.js b/src/assets/javascripts/data.js deleted file mode 100644 index bf0666ba..00000000 --- a/src/assets/javascripts/data.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -let theme; -function setTheme(val) { - theme = val; - browser.storage.sync.set({ theme }) -}; - -export default { - theme, - setTheme, -} \ No newline at end of file diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 74f8edf5..e6d4895f 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -4,7 +4,6 @@ import instagramHelper from "./instagram.js"; import mediumHelper from "./medium.js"; import redditHelper from "./reddit.js"; import searchHelper from "./search.js"; -import data from '../data.js' import translateHelper from "./translate.js"; import wikipediaHelper from "./wikipedia.js"; import mapsHelper from "./maps.js"; diff --git a/src/assets/javascripts/helpers/exceptions.js b/src/assets/javascripts/helpers/exceptions.js new file mode 100644 index 00000000..9b7f1b59 --- /dev/null +++ b/src/assets/javascripts/helpers/exceptions.js @@ -0,0 +1,35 @@ +"use strict"; + +let exceptions = { + "url": [], + "regex": [], +}; +const getExceptions = () => exceptions; +function setExceptions(val) { + exceptions = val; + browser.storage.sync.set({ exceptions }) + console.log("exceptions: ", val) +} + +async function init() { + let result = await browser.storage.sync.get("exceptions"); + if (result.exceptions) exceptions = result.exceptions; +} + +function isException(url) { + for (const item of exceptions.url) { + console.log(item, `${url.protocol}//${url.host}`) + if (item == `${url.protocol}//${url.host}`) return true; + } + for (const item of exceptions.regex) + if (new RegExp(item).test(url.href)) return true; + return false; +} + +export default { + getExceptions, + setExceptions, + + isException, + init, +} \ No newline at end of file diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index be20b726..b8665dff 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -5,12 +5,12 @@ import commonHelper from '../common.js' window.browser = window.browser || window.chrome; const targets = [ - /https?:\/\/(www\.|music|m)youtube\.com(\/.*|$)/, + /https?:\/\/(www\.|music\.|m\.|)youtube\.com(\/.*|$)/, /https?:\/\/img\.youtube\.com\/vi\/.*\/..*/, // https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api /https?:\/\/(i|s)\.ytimg\.com\/vi\/.*\/..*/, - /https?:\/\/(www\.|music|)youtube\.com\/watch\?v\=..*/, + /https?:\/\/(www\.|music\.|)youtube\.com\/watch\?v\=..*/, /https?:\/\/youtu\.be\/..*/, diff --git a/src/pages/background/background.html b/src/pages/background/background.html index a24e1594..c9ae2a81 100644 --- a/src/pages/background/background.html +++ b/src/pages/background/background.html @@ -3,7 +3,6 @@
- diff --git a/src/pages/background/background.js b/src/pages/background/background.js index aa97e2f6..940a2ed7 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -11,6 +11,7 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; import mediumHelper from "../../assets/javascripts/helpers/medium.js"; import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; +import exceptionsHelper from "../../assets/javascripts/helpers/exceptions.js"; window.browser = window.browser || window.chrome; @@ -26,6 +27,7 @@ function wholeInit() { youtubeHelper.init() imgurHelper.init() tiktokHelper.init() + exceptionsHelper.init() } wholeInit(); @@ -43,7 +45,9 @@ browser.webRequest.onBeforeRequest.addListener( var newUrl; - if (youtubeHelper.isYoutube(url)) newUrl = youtubeHelper.redirect(url, initiator, details.type) + if (exceptionsHelper.isException(url)) newUrl = null; + + else if (youtubeHelper.isYoutube(url)) newUrl = youtubeHelper.redirect(url, initiator, details.type) else if (twitterHelper.isTwitter(url)) newUrl = twitterHelper.redirect(url, initiator); diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 89b80b11..fbdc52ec 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -122,9 +122,36 @@ - - - +