diff --git a/src/content.js b/src/content.js index b148bd2..af069a8 100644 --- a/src/content.js +++ b/src/content.js @@ -12,7 +12,7 @@ import { isIframe } from "./libs/iframe"; /** * 入口函数 */ -(async () => { +const init = async () => { const href = isIframe ? document.referrer : document.location.href; const setting = await getSetting(); const rules = await getRules(); @@ -38,4 +38,15 @@ import { isIframe } from "./libs/iframe"; } return { data: translator.rule }; }); +}; + +(async () => { + try { + await init(); + } catch (err) { + const $err = document.createElement("div"); + $err.innerText = `KISS-Translator Error: ${err.message}`; + $err.style.cssText = "background:red; color:#fff; z-index:10000;"; + document.body.prepend($err); + } })(); diff --git a/src/userscript.js b/src/userscript.js index 1517019..3f11076 100644 --- a/src/userscript.js +++ b/src/userscript.js @@ -13,7 +13,7 @@ import { isIframe } from "./libs/iframe"; /** * 入口函数 */ -(async () => { +const init = async () => { // 设置页面 if ( document.location.href.includes(process.env.REACT_APP_OPTIONSPAGE_DEV) || @@ -74,22 +74,37 @@ import { isIframe } from "./libs/iframe"; // 注册菜单 if (isGm) { - GM.registerMenuCommand( - "Toggle Translate", - (event) => { - translator.toggle(); - }, - "Q" - ); - GM.registerMenuCommand( - "Toggle Style", - (event) => { - translator.toggleStyle(); - }, - "C" - ); + try { + GM.registerMenuCommand( + "Toggle Translate", + (event) => { + translator.toggle(); + }, + "Q" + ); + GM.registerMenuCommand( + "Toggle Style", + (event) => { + translator.toggleStyle(); + }, + "C" + ); + } catch (err) { + console.log("[registerMenuCommand]", err); + } } // 同步订阅规则 trySyncAllSubRules(setting); +}; + +(async () => { + try { + await init(); + } catch (err) { + const $err = document.createElement("div"); + $err.innerText = `KISS-Translator Error: ${err.message}`; + $err.style.cssText = "background:red; color:#fff; z-index:10000;"; + document.body.prepend($err); + } })();