diff options
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r-- | ext/bg/js/translator.js | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 3fd329d1..a1f30bd2 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -29,7 +29,6 @@ * dictTermsSort * dictTermsUndupe * jp - * requestJson */ class Translator { @@ -40,8 +39,7 @@ class Translator { } async prepare() { - const url = chrome.runtime.getURL('/bg/lang/deinflect.json'); - const reasons = await requestJson(url, 'GET'); + const reasons = await this._fetchJsonAsset('/bg/lang/deinflect.json'); this.deinflector = new Deinflector(reasons); } @@ -657,4 +655,19 @@ class Translator { return text; } + + async _fetchJsonAsset(url) { + const response = await fetch(chrome.runtime.getURL(url), { + method: 'GET', + mode: 'no-cors', + cache: 'default', + credentials: 'omit', + redirect: 'follow', + referrerPolicy: 'no-referrer' + }); + if (!response.ok) { + throw new Error(`Failed to fetch ${url}: ${response.status}`); + } + return await response.json(); + } } |