From 1f57c0b91354861f8c24390c4b325b07217f2479 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Fri, 31 Dec 2021 13:18:00 +0800 Subject: [PATCH] fix: inject web3 after load --- .../twitter.com/injection/ProfileTab.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/mask/src/social-network-adaptor/twitter.com/injection/ProfileTab.tsx b/packages/mask/src/social-network-adaptor/twitter.com/injection/ProfileTab.tsx index 4f326d2bfa27..e3572ae5c7a8 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/injection/ProfileTab.tsx +++ b/packages/mask/src/social-network-adaptor/twitter.com/injection/ProfileTab.tsx @@ -136,6 +136,15 @@ export function ProfileTabAtTwitter() { export function injectProfileTabAtTwitter(signal: AbortSignal) { const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector()) - startWatch(watcher, signal) - createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render() + let tabInjected = false + const contentWatcher = new MutationObserverWatcher(searchProfileTabPageSelector()).useForeach((node, key, meta) => { + const elePage = searchProfileTabPageSelector().evaluate() + if (elePage && !tabInjected) { + startWatch(watcher, signal) + createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render() + tabInjected = true + } + }) + + startWatch(contentWatcher, signal) }