feat: Restore CSS injection functionality
This commit is contained in:
@@ -804,9 +804,9 @@ export const I18N = {
|
|||||||
zh_TW: `注入 CSS`,
|
zh_TW: `注入 CSS`,
|
||||||
},
|
},
|
||||||
inject_css_helper: {
|
inject_css_helper: {
|
||||||
zh: `初始化时注入运行,一个页面仅运行一次。`,
|
zh: `预加载时注入,一个页面仅运行一次。`,
|
||||||
en: `Injected and run at initialization, and only run once per page.`,
|
en: `Injected during preload, runs only once per page.`,
|
||||||
zh_TW: `初始化時注入運行,一個頁面僅運行一次。`,
|
zh_TW: `預先載入時注入,一個頁面僅運行一次。`,
|
||||||
},
|
},
|
||||||
fixer_function: {
|
fixer_function: {
|
||||||
zh: `修复函数`,
|
zh: `修复函数`,
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export const GLOBLA_RULE = {
|
|||||||
parentStyle: DEFAULT_SELECT_STYLE, // 选择器父节点样式
|
parentStyle: DEFAULT_SELECT_STYLE, // 选择器父节点样式
|
||||||
grandStyle: DEFAULT_SELECT_STYLE, // 选择器祖节点样式
|
grandStyle: DEFAULT_SELECT_STYLE, // 选择器祖节点样式
|
||||||
injectJs: "", // 注入JS
|
injectJs: "", // 注入JS
|
||||||
// injectCss: "", // 注入CSS(作废)
|
injectCss: "", // 注入CSS
|
||||||
transOnly: "false", // 是否仅显示译文
|
transOnly: "false", // 是否仅显示译文
|
||||||
// transTiming: OPT_TIMING_PAGESCROLL, // 翻译时机/鼠标悬停翻译 (暂时作废)
|
// transTiming: OPT_TIMING_PAGESCROLL, // 翻译时机/鼠标悬停翻译 (暂时作废)
|
||||||
transTag: DEFAULT_TRANS_TAG, // 译文元素标签
|
transTag: DEFAULT_TRANS_TAG, // 译文元素标签
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export const matchRule = async (href, { injectRules, subrulesList }) => {
|
|||||||
"parentStyle",
|
"parentStyle",
|
||||||
"grandStyle",
|
"grandStyle",
|
||||||
"injectJs",
|
"injectJs",
|
||||||
// "injectCss",
|
"injectCss",
|
||||||
"transStartHook",
|
"transStartHook",
|
||||||
"transEndHook",
|
"transEndHook",
|
||||||
// "transRemoveHook",
|
// "transRemoveHook",
|
||||||
@@ -138,7 +138,7 @@ export const checkRules = (rules) => {
|
|||||||
parentStyle,
|
parentStyle,
|
||||||
grandStyle,
|
grandStyle,
|
||||||
injectJs,
|
injectJs,
|
||||||
// injectCss,
|
injectCss,
|
||||||
apiSlug,
|
apiSlug,
|
||||||
fromLang,
|
fromLang,
|
||||||
toLang,
|
toLang,
|
||||||
@@ -171,7 +171,7 @@ export const checkRules = (rules) => {
|
|||||||
parentStyle: type(parentStyle) === "string" ? parentStyle : "",
|
parentStyle: type(parentStyle) === "string" ? parentStyle : "",
|
||||||
grandStyle: type(grandStyle) === "string" ? grandStyle : "",
|
grandStyle: type(grandStyle) === "string" ? grandStyle : "",
|
||||||
injectJs: type(injectJs) === "string" ? injectJs : "",
|
injectJs: type(injectJs) === "string" ? injectJs : "",
|
||||||
// injectCss: type(injectCss) === "string" ? injectCss : "",
|
injectCss: type(injectCss) === "string" ? injectCss : "",
|
||||||
apiSlug:
|
apiSlug:
|
||||||
type(apiSlug) === "string" && apiSlug.trim() !== ""
|
type(apiSlug) === "string" && apiSlug.trim() !== ""
|
||||||
? apiSlug.trim()
|
? apiSlug.trim()
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import {
|
|||||||
OPT_SPLIT_PARAGRAPH_PUNCTUATION,
|
OPT_SPLIT_PARAGRAPH_PUNCTUATION,
|
||||||
OPT_SPLIT_PARAGRAPH_DISABLE,
|
OPT_SPLIT_PARAGRAPH_DISABLE,
|
||||||
OPT_SPLIT_PARAGRAPH_TEXTLENGTH,
|
OPT_SPLIT_PARAGRAPH_TEXTLENGTH,
|
||||||
|
MSG_INJECT_CSS,
|
||||||
} from "../config";
|
} from "../config";
|
||||||
import { interpreter } from "./interpreter";
|
import { interpreter } from "./interpreter";
|
||||||
import { clearFetchPool } from "./pool";
|
import { clearFetchPool } from "./pool";
|
||||||
@@ -26,6 +27,9 @@ import { shortcutRegister } from "./shortcut";
|
|||||||
import { tryDetectLang } from "./detect";
|
import { tryDetectLang } from "./detect";
|
||||||
import { trustedTypesHelper } from "./trustedTypes";
|
import { trustedTypesHelper } from "./trustedTypes";
|
||||||
import { injectJs, INJECTOR } from "../injectors";
|
import { injectJs, INJECTOR } from "../injectors";
|
||||||
|
import { injectInternalCss } from "./injector";
|
||||||
|
import { isExt } from "./client";
|
||||||
|
import { sendBgMsg } from "./msg";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class Translator
|
* @class Translator
|
||||||
@@ -1624,7 +1628,14 @@ export class Translator {
|
|||||||
// injectCss && injectInternalCss(injectCss);
|
// injectCss && injectInternalCss(injectCss);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
const { injectJs, toLang } = this.#rule;
|
const { injectJs, injectCss, toLang } = this.#rule;
|
||||||
|
|
||||||
|
if (isExt) {
|
||||||
|
injectCss && sendBgMsg(MSG_INJECT_CSS, injectCss);
|
||||||
|
} else {
|
||||||
|
injectCss && injectInternalCss(injectCss);
|
||||||
|
}
|
||||||
|
|
||||||
if (injectJs?.trim()) {
|
if (injectJs?.trim()) {
|
||||||
const apiSetting = { ...this.#apiSetting };
|
const apiSetting = { ...this.#apiSetting };
|
||||||
const docInfo = { ...this.#docInfo };
|
const docInfo = { ...this.#docInfo };
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ function RuleFields({ rule, rules, setShow, setKeyword }) {
|
|||||||
parentStyle = "",
|
parentStyle = "",
|
||||||
grandStyle = "",
|
grandStyle = "",
|
||||||
injectJs = "",
|
injectJs = "",
|
||||||
// injectCss = "",
|
injectCss = "",
|
||||||
apiSlug,
|
apiSlug,
|
||||||
fromLang,
|
fromLang,
|
||||||
toLang,
|
toLang,
|
||||||
@@ -651,7 +651,7 @@ function RuleFields({ rule, rules, setShow, setKeyword }) {
|
|||||||
maxRows={10}
|
maxRows={10}
|
||||||
/> */}
|
/> */}
|
||||||
|
|
||||||
{/* <TextField
|
<TextField
|
||||||
size="small"
|
size="small"
|
||||||
label={i18n("inject_css")}
|
label={i18n("inject_css")}
|
||||||
helperText={i18n("inject_css_helper")}
|
helperText={i18n("inject_css_helper")}
|
||||||
@@ -661,7 +661,7 @@ function RuleFields({ rule, rules, setShow, setKeyword }) {
|
|||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
maxRows={10}
|
maxRows={10}
|
||||||
multiline
|
multiline
|
||||||
/> */}
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
size="small"
|
size="small"
|
||||||
label={i18n("inject_js")}
|
label={i18n("inject_js")}
|
||||||
|
|||||||
Reference in New Issue
Block a user