diff --git a/source/src/background.ts b/source/src/background.ts index ef7338a..f17b9cb 100644 --- a/source/src/background.ts +++ b/source/src/background.ts @@ -85,10 +85,21 @@ class PortMan { this._updateFrames(); // 当devtools链接后,主动派发frames数据 this.onPortConnect(port, (data: PluginEvent) => { - // 从devtools过来的消息统一派发到Content中 - if (PluginEvent.check(data, Page.Devtools, Page.Background)) { - PluginEvent.reset(data, Page.Background, Page.Content); - this.getCurrentUseContent()?.postMessage(data) + if (data.msg === Msg.UseFrame) { + this.currentUseContentFrameID = data.data; + // 更新这个frame的tree + this.updateCurrentFrameTree(); + } else { + // 从devtools过来的消息统一派发到Content中 + if (PluginEvent.check(data, Page.Devtools, Page.Background)) { + if (data.msg === Msg.TreeInfo) { + if (this.currentUseContentFrameID !== data.data) { + console.log(`frameID[${data.data}]不一致`); + } + } + PluginEvent.reset(data, Page.Background, Page.Content); + this.getCurrentUseContent()?.postMessage(data) + } } }, () => { @@ -100,6 +111,11 @@ class PortMan { } } + private updateCurrentFrameTree() { + const sendData = new PluginEvent(Page.Background, Page.Content, Msg.TreeInfo); + this.getCurrentUseContent()?.postMessage(sendData); + } + checkValid() { if (!this.devtools && !this.content.length) { this.mgr?.remove(this); diff --git a/source/src/core/types.ts b/source/src/core/types.ts index a631a6c..c27017e 100644 --- a/source/src/core/types.ts +++ b/source/src/core/types.ts @@ -15,6 +15,7 @@ export enum Msg { TabsInfo = "tabs_info", // 当前页面信息 GetTabID = "GetTabID", // 获取页面ID UpdateFrames = "UpdateFrames", // 更新页面的frame + UseFrame = "UseFrame", GetObjectItemData = "GetObjectItemData", SetProperty = "set-property", // 设置node属性 UpdateProperty = "update-property", // 更新属性 diff --git a/source/src/devtools/ui/index.vue b/source/src/devtools/ui/index.vue index a648f75..798078a 100644 --- a/source/src/devtools/ui/index.vue +++ b/source/src/devtools/ui/index.vue @@ -1,6 +1,6 @@