fix: skip builtin ignore selector when autoscan disabled
This commit is contained in:
@@ -224,6 +224,11 @@ const RULES_MAP = {
|
|||||||
rootsSelector: `ytd-page-manager`,
|
rootsSelector: `ytd-page-manager`,
|
||||||
ignoreSelector: `aside, button, footer, form, header, pre, mark, nav, #player, #container, .caption-window, .ytp-settings-menu`,
|
ignoreSelector: `aside, button, footer, form, header, pre, mark, nav, #player, #container, .caption-window, .ytp-settings-menu`,
|
||||||
},
|
},
|
||||||
|
"web.telegram.org": {
|
||||||
|
autoScan: `false`,
|
||||||
|
selector: ".text-content, .embedded-text-wrapper",
|
||||||
|
rootsSelector: ".Transition",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const BUILTIN_RULES = Object.entries(RULES_MAP).map(
|
export const BUILTIN_RULES = Object.entries(RULES_MAP).map(
|
||||||
|
|||||||
@@ -261,13 +261,17 @@ export class Translator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 内置忽略元素
|
// 内置忽略元素
|
||||||
|
static KISS_IGNORE_SELECTOR = `${APP_LCNAME}, .kiss-caption-container, .kiss-subtitle-controls
|
||||||
|
#${APP_CONSTS.fabID}, .${APP_CONSTS.fabID}_warpper,
|
||||||
|
#${APP_CONSTS.boxID}, .${APP_CONSTS.boxID}_warpper,
|
||||||
|
#${APP_CONSTS.popupID}, .${APP_CONSTS.popupID}_warpper`;
|
||||||
|
|
||||||
static BUILTIN_IGNORE_SELECTOR = `address, area, audio, br, canvas,
|
static BUILTIN_IGNORE_SELECTOR = `address, area, audio, br, canvas,
|
||||||
data, datalist, embed, head, iframe, input, noscript, map,
|
data, datalist, embed, head, iframe, input, noscript, map,
|
||||||
object, option, param, picture, progress,
|
object, option, param, picture, progress,
|
||||||
select, script, style, track, textarea, template,
|
select, script, style, track, textarea, template,
|
||||||
video, wbr, .notranslate, [contenteditable], [translate='no'],
|
video, wbr, .notranslate, [contenteditable], [translate='no'],
|
||||||
${APP_LCNAME}, #${APP_CONSTS.fabID}, #${APP_CONSTS.boxID},
|
${Translator.KISS_IGNORE_SELECTOR}`;
|
||||||
.${APP_CONSTS.fabID}_warpper, .${APP_CONSTS.boxID}_warpper`;
|
|
||||||
|
|
||||||
#setting; // 设置选项
|
#setting; // 设置选项
|
||||||
#rule; // 规则
|
#rule; // 规则
|
||||||
@@ -314,6 +318,10 @@ export class Translator {
|
|||||||
|
|
||||||
// 忽略元素
|
// 忽略元素
|
||||||
get #ignoreSelector() {
|
get #ignoreSelector() {
|
||||||
|
if (this.#rule.autoScan === "false") {
|
||||||
|
return `${Translator.KISS_IGNORE_SELECTOR}, ${this.#rule.ignoreSelector}`;
|
||||||
|
}
|
||||||
|
|
||||||
return `${Translator.BUILTIN_IGNORE_SELECTOR}, ${this.#rule.ignoreSelector}`;
|
return `${Translator.BUILTIN_IGNORE_SELECTOR}, ${this.#rule.ignoreSelector}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -165,14 +165,14 @@ class YouTubeCaptionProvider {
|
|||||||
this.#ytControls = ytControls;
|
this.#ytControls = ytControls;
|
||||||
|
|
||||||
const kissControls = document.createElement("div");
|
const kissControls = document.createElement("div");
|
||||||
kissControls.className = "kiss-bilingual-subtitle-controls";
|
kissControls.className = "notranslate kiss-subtitle-controls";
|
||||||
Object.assign(kissControls.style, {
|
Object.assign(kissControls.style, {
|
||||||
height: "100%",
|
height: "100%",
|
||||||
});
|
});
|
||||||
|
|
||||||
const toggleButton = document.createElement("button");
|
const toggleButton = document.createElement("button");
|
||||||
toggleButton.className =
|
toggleButton.className =
|
||||||
"ytp-button notranslate kiss-bilingual-subtitle-button";
|
"ytp-button kiss-subtitle-button";
|
||||||
toggleButton.title = APP_NAME;
|
toggleButton.title = APP_NAME;
|
||||||
Object.assign(toggleButton.style, {
|
Object.assign(toggleButton.style, {
|
||||||
color: "white",
|
color: "white",
|
||||||
|
|||||||
Reference in New Issue
Block a user