From 726ad06ce0d3bfa634f5e12cc4b27afc5cdfd47f Mon Sep 17 00:00:00 2001 From: zx209439 Date: Mon, 5 Dec 2022 10:54:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=92=89=E9=92=89?= =?UTF-8?q?=E7=8E=AF=E5=A2=83post=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/tb-apps-sdk/src/sdk/AppSDK.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/tb-apps-sdk/src/sdk/AppSDK.ts b/packages/tb-apps-sdk/src/sdk/AppSDK.ts index 3d33d701..6aeaaf81 100644 --- a/packages/tb-apps-sdk/src/sdk/AppSDK.ts +++ b/packages/tb-apps-sdk/src/sdk/AppSDK.ts @@ -104,7 +104,7 @@ export class AppSDK { this.targetId = resp.data.targetId this.targetOrigin = resp.data.origin this.initialize = true - this.source = resp.source as Window + this.source = this.getSource(resp.source as Window) this.sameOrigin = resp.data.origin === document.location.origin this.connector.resolve() } @@ -169,4 +169,12 @@ export class AppSDK { ) } + private getSource(source) { + // 钉钉环境会改变 window,导致 source.postMessage 无法发送成功,此时使用 window.parent + // 钉钉环境改变 window, 无法使用 source.navigator.userAgent 验证 + if (window && window.navigator && /DingTalk/.test(window.navigator.userAgent)) { + return window.parent + } + return source + } }