Skip to content

Commit

Permalink
🐛 修复GM_addElement父节点参数为shadowDom错误的问题 #214
Browse files Browse the repository at this point in the history
  • Loading branch information
CodFrm committed Jul 26, 2023
1 parent 8d442ac commit 0bbe7ce
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 12 deletions.
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "scriptcat",
"version": "0.14.2",
"version": "0.15.0",
"description": "脚本猫,一个可以执行用户脚本的浏览器扩展,万物皆可脚本化,让你的浏览器可以做更多的事情!",
"author": "CodFrm",
"license": "GPLv3",
Expand Down
23 changes: 16 additions & 7 deletions src/app/message/content.ts
Expand Up @@ -36,8 +36,11 @@ export default class MessageContent
document.addEventListener(
(isContent ? "ct" : "fd") + eventId,
(event: unknown) => {
if (event instanceof MouseEvent) {
this.relatedTarget.set(event.detail, <Element>event.relatedTarget);
if (event instanceof MutationEvent) {
this.relatedTarget.set(
parseInt(event.prevValue, 10),
<Element>event.relatedNode
);
return;
}
const message = (<
Expand All @@ -51,7 +54,9 @@ export default class MessageContent
};
}
>event).detail;
this.handler(message, this.channelManager, { targetTag: "content" });
this.handler(message, this.channelManager, {
targetTag: "content",
});
}
);
if (!MessageContent.instance) {
Expand Down Expand Up @@ -119,10 +124,14 @@ export default class MessageContent
delete detail.data.relatedTarget;
detail.data.relatedTarget = Math.ceil(Math.random() * 1000000);
// 可以使用此种方式交互element
const ev = new MouseEvent((this.isContent ? "fd" : "ct") + this.eventId, {
detail: detail.data.relatedTarget,
relatedTarget: target,
});
const ev = document.createEvent("MutationEvent");
ev.initMutationEvent(
(this.isContent ? "fd" : "ct") + this.eventId,
false,
false,
target,
detail.data.relatedTarget.toString()
);
document.dispatchEvent(ev);
}

Expand Down
1 change: 1 addition & 0 deletions src/locales/en-US/translation.yaml
Expand Up @@ -32,6 +32,7 @@ cloud_sync_account_verification: Cloud Sync Account Verification in Progress...
cloud_sync_verification_failed: Cloud Sync Account Verification Failed
save_success: Save Successful
update: Update
check_update: Check Update
script_subscription_check_interval: Script/Subscription Update Check Interval
never: Never
6_hours: 6 hours
Expand Down
1 change: 1 addition & 0 deletions src/locales/zh-CN/translation.yaml
Expand Up @@ -32,6 +32,7 @@ cloud_sync_account_verification: 云同步账号信息验证中...
cloud_sync_verification_failed: 云同步账号信息验证失败
save_success: 保存成功
update: 更新
check_update: 检查更新
script_subscription_check_interval: 脚本/订阅检查更新间隔
never: 从不
6_hours: 6小时
Expand Down
2 changes: 1 addition & 1 deletion src/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "ScriptCat",
"version": "0.14.2",
"version": "0.15.0",
"author": "CodFrm",
"description": "脚本猫,一个用户脚本管理器,支持后台脚本、定时脚本、页面脚本,可编写脚本每天帮你自动处理事务.",
"options_ui": {
Expand Down
8 changes: 5 additions & 3 deletions src/pages/options/routes/ScriptList.tsx
Expand Up @@ -714,7 +714,9 @@ function ScriptList() {
<Select.Option value="disable">{t("disable")}</Select.Option>
<Select.Option value="export">{t("export")}</Select.Option>
<Select.Option value="delete">{t("delete")}</Select.Option>
<Select.Option value="update">{t("update")}</Select.Option>
<Select.Option value="check_update">
{t("check_update")}
</Select.Option>
</Select>
<Button
type="primary"
Expand Down Expand Up @@ -768,8 +770,8 @@ function ScriptList() {
});
}
break;
// 批量更新
case "update":
// 批量检查更新
case "check_update":
// eslint-disable-next-line no-restricted-globals, no-alert
if (confirm(t("list.confirm_update")!)) {
select.forEach((item, index, array) => {
Expand Down

0 comments on commit 0bbe7ce

Please sign in to comment.