inject: rewrite evalOnNewDoc to return remove func

This commit is contained in:
CanadaHonk 2023-04-05 15:35:41 +01:00
parent 235301f566
commit 04b31831fd

View File

@ -98,13 +98,25 @@ export default async (CDP, proc, injectionType = 'browser', { dataPath, browserN
return reply.result?.value ?? reply;
};
const evalOnNewDocument = async source => {
const { identifier } = await CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', {
source
}, sessionId);
return async () => {
await CDP.sendMessage('Page.removeScriptToEvaluateOnNewDocument', {
identifier
}, sessionId);
};
};
const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({
browserName,
browserInfo,
browserType
}, {
evalInWindow,
evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId)
evalOnNewDocument
});
onWindowMessage = ipcMessageCallback;