From 73c1c8a5c82502af9ec951a14f5cbbcc9b2f9205 Mon Sep 17 00:00:00 2001 From: velzie Date: Thu, 18 Jul 2024 18:24:03 -0400 Subject: [PATCH] postmessage handler --- src/client/event.ts | 5 +++++ src/client/index.ts | 1 + src/client/postmessage.ts | 6 ++++++ src/client/window.ts | 6 ------ 4 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 src/client/postmessage.ts diff --git a/src/client/event.ts b/src/client/event.ts index 5f761b0..887b113 100644 --- a/src/client/event.ts +++ b/src/client/event.ts @@ -8,3 +8,8 @@ // return Reflect.apply(target, thisArg, argArray); // } // }) +// window.addEventListener = new Proxy(window.addEventListener, { +// apply(target1, thisArg, argArray) { +// window.addEventListener(argArray[0], argArray[1]); +// }, +// }); diff --git a/src/client/index.ts b/src/client/index.ts index b75701b..83f12b8 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -15,6 +15,7 @@ import "./worker.ts"; import "./beacon.ts"; import "./origin.ts"; import "./import.ts"; +import "./postmessage.ts"; declare global { interface Window { diff --git a/src/client/postmessage.ts b/src/client/postmessage.ts new file mode 100644 index 0000000..b26e4d4 --- /dev/null +++ b/src/client/postmessage.ts @@ -0,0 +1,6 @@ +window.postMessage = new Proxy(window.postMessage, { + apply(target, thisArg, argArray) { + if (typeof argArray[1] === "string") argArray[1] = "*" + Reflect.apply(target, thisArg, argArray); + } +}); diff --git a/src/client/window.ts b/src/client/window.ts index 94340e8..dc75359 100644 --- a/src/client/window.ts +++ b/src/client/window.ts @@ -15,12 +15,6 @@ export const windowProxy = new Proxy(window, { return window.parent; } else if (propIsString && prop === "$scramjet") { return; - } else if (propIsString && prop === "addEventListener") { - return new Proxy(window.addEventListener, { - apply(target1, thisArg, argArray) { - window.addEventListener(argArray[0], argArray[1]); - }, - }); } const value = Reflect.get(target, prop);