Skip to content

Commit cd749af

Browse files
committed
🐛 修复chrome v127下GM_addElement相关问题 #299
1 parent e0130ec commit cd749af

File tree

4 files changed

+13
-20
lines changed

4 files changed

+13
-20
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "scriptcat",
3-
"version": "0.16.4",
3+
"version": "0.16.5",
44
"description": "脚本猫,一个可以执行用户脚本的浏览器扩展,万物皆可脚本化,让你的浏览器可以做更多的事情!",
55
"author": "CodFrm",
66
"license": "GPLv3",

src/app/message/content.ts

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,11 @@ export default class MessageContent
3434
this.nativeSend(data);
3535
});
3636
this.relatedTarget = new Map<number, Element>();
37-
document.addEventListener(
37+
window.addEventListener(
3838
(isContent ? "ct" : "fd") + eventId,
3939
(event: unknown) => {
40-
if (event instanceof MutationEvent) {
41-
this.relatedTarget.set(
42-
parseInt(event.prevValue, 10),
43-
<Element>event.relatedNode
44-
);
40+
if (event instanceof MouseEvent) {
41+
this.relatedTarget.set(event.clientX, <Element>event.relatedTarget);
4542
return;
4643
}
4744
const message = (<
@@ -116,15 +113,11 @@ export default class MessageContent
116113
delete detail.data.relatedTarget;
117114
detail.data.relatedTarget = Math.ceil(Math.random() * 1000000);
118115
// 可以使用此种方式交互element
119-
const ev = document.createEvent("MutationEvent");
120-
ev.initMutationEvent(
121-
(this.isContent ? "fd" : "ct") + this.eventId,
122-
false,
123-
false,
124-
target,
125-
detail.data.relatedTarget.toString()
126-
);
127-
document.dispatchEvent(ev);
116+
const ev = new MouseEvent((this.isContent ? "fd" : "ct") + this.eventId, {
117+
clientX: detail.data.relatedTarget,
118+
relatedTarget: target,
119+
});
120+
window.dispatchEvent(ev);
128121
}
129122

130123
if (typeof cloneInto !== "undefined") {
@@ -142,7 +135,7 @@ export default class MessageContent
142135
const ev = new CustomEvent((this.isContent ? "fd" : "ct") + this.eventId, {
143136
detail,
144137
});
145-
document.dispatchEvent(ev);
138+
window.dispatchEvent(ev);
146139
}
147140

148141
public send(action: string, data: any) {

src/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"manifest_version": 2,
33
"name": "__MSG_scriptcat__",
4-
"version": "0.16.4",
4+
"version": "0.16.5",
55
"author": "CodFrm",
66
"description": "__MSG_scriptcat_description__",
77
"options_ui": {

0 commit comments

Comments
 (0)