Skip to content

Commit c5e766f

Browse files
committed
🐛 修复GM_notification无法触发 onclick #406
1 parent 70c59e6 commit c5e766f

5 files changed

Lines changed: 19 additions & 11 deletions

File tree

src/app/service/content/content.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import LoggerCore from "@App/app/logger/core";
2-
import Logger from "@App/app/logger/logger";
31
import { ScriptRunResouce } from "@App/app/repo/scripts";
42
import { Client, sendMessage } from "@Packages/message/client";
53
import { CustomEventMessage } from "@Packages/message/custom_event_message";

src/app/service/content/gm_api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ export default class GMApi {
687687
switch (resp.event) {
688688
case "click":
689689
case "buttonClick": {
690-
click && click.apply({ id }, [id, resp.params.index]);
690+
click && click.apply({ id }, [id, resp.params?.index]);
691691
break;
692692
}
693693
case "close": {

src/app/service/content/inject.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { ScriptRunResouce } from "@App/app/repo/scripts";
21
import { Message, Server } from "@Packages/message/server";
32
import ExecScript, { ValueUpdateData } from "./exec_script";
43
import { addStyle, ScriptFunc } from "./utils";
54
import { getStorageName } from "@App/pkg/utils/utils";
6-
import { EmitEventRequest } from "../service_worker/runtime";
5+
import { EmitEventRequest, ScriptLoadInfo } from "../service_worker/runtime";
76
import { ExternalWhitelist } from "@App/app/const";
87
import { sendMessage } from "@Packages/message/client";
98

@@ -13,7 +12,7 @@ export class InjectRuntime {
1312
constructor(
1413
private server: Server,
1514
private msg: Message,
16-
private scripts: ScriptRunResouce[]
15+
private scripts: ScriptLoadInfo[]
1716
) {}
1817

1918
start() {
@@ -82,7 +81,7 @@ export class InjectRuntime {
8281
}
8382
}
8483

85-
execScript(script: ScriptRunResouce, scriptFunc: ScriptFunc) {
84+
execScript(script: ScriptLoadInfo, scriptFunc: ScriptFunc) {
8685
// @ts-ignore
8786
delete window[script.flag];
8887
const exec = new ExecScript(script, "content", this.msg, scriptFunc);

src/inject.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import LoggerCore from "./app/logger/core";
22
import MessageWriter from "./app/logger/message_writer";
33
import { CustomEventMessage } from "@Packages/message/custom_event_message";
44
import { Server } from "@Packages/message/server";
5-
import { ScriptRunResouce } from "./app/repo/scripts";
65
import { InjectRuntime } from "./app/service/content/inject";
6+
import { ScriptLoadInfo } from "./app/service/service_worker/runtime";
77

88
const msg = new CustomEventMessage(MessageFlag, false);
99

@@ -15,7 +15,7 @@ const logger = new LoggerCore({
1515

1616
const server = new Server("inject", msg);
1717

18-
server.on("pageLoad", (data: { scripts: ScriptRunResouce[] }) => {
18+
server.on("pageLoad", (data: { scripts: ScriptLoadInfo[] }) => {
1919
logger.logger().debug("inject start");
2020
// 监听事件
2121
const runtime = new InjectRuntime(server, msg, data.scripts);

src/template/scriptcat.d.tpl

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,18 @@ declare function GM_getResourceText(name: string): string | undefined;
9797

9898
declare function GM_getResourceURL(name: string, isBlobUrl?: boolean): string | undefined;
9999

100-
declare function GM_registerMenuCommand(name: string, listener: () => void, accessKey?: string): number;
100+
declare function GM_registerMenuCommand(
101+
name: string,
102+
listener: () => void,
103+
optionsOrAccessKey?:
104+
| string
105+
| {
106+
id?: number | string;
107+
accessKey?: string;
108+
autoClose?: boolean;
109+
title?: string;
110+
}
111+
): number;
101112

102113
declare function GM_unregisterMenuCommand(id: number): void;
103114

@@ -363,7 +374,7 @@ declare namespace GMTypes {
363374
user?: string;
364375
password?: string;
365376
nocache?: boolean;
366-
redirect?: "follow" | "error" | "manual";// 为了与tm保持一致, 在v0.17.0后废弃maxRedirects, 使用redirect替代, 会强制使用fetch模式
377+
redirect?: "follow" | "error" | "manual"; // 为了与tm保持一致, 在v0.17.0后废弃maxRedirects, 使用redirect替代, 会强制使用fetch模式
367378

368379
onload?: Listener<XHRResponse>;
369380
onloadstart?: Listener<XHRResponse>;

0 commit comments

Comments
 (0)