11import LoggerCore from "../logger/core" ;
22import { type Channel } from "./channel" ;
3+ import { CustomEventClone , MouseEventClone , pageAddEventListener , pageDispatchEvent } from "./common" ;
34import {
45 ChannelManager ,
56 MessageHander ,
@@ -34,7 +35,7 @@ export default class MessageContent
3435 this . nativeSend ( data ) ;
3536 } ) ;
3637 this . relatedTarget = new Map < number , Element > ( ) ;
37- window . addEventListener (
38+ pageAddEventListener (
3839 ( isContent ? "ct" : "fd" ) + eventId ,
3940 ( event : unknown ) => {
4041 if ( event instanceof MouseEvent ) {
@@ -113,11 +114,14 @@ export default class MessageContent
113114 delete detail . data . relatedTarget ;
114115 detail . data . relatedTarget = Math . ceil ( Math . random ( ) * 1000000 ) ;
115116 // 可以使用此种方式交互element
116- const ev = new MouseEvent ( ( this . isContent ? "fd" : "ct" ) + this . eventId , {
117- clientX : detail . data . relatedTarget ,
118- relatedTarget : target ,
119- } ) ;
120- window . dispatchEvent ( ev ) ;
117+ const ev = new MouseEventClone (
118+ ( this . isContent ? "fd" : "ct" ) + this . eventId ,
119+ {
120+ clientX : detail . data . relatedTarget ,
121+ relatedTarget : target ,
122+ }
123+ ) ;
124+ pageDispatchEvent ( ev ) ;
121125 }
122126
123127 if ( typeof cloneInto !== "undefined" ) {
@@ -132,10 +136,11 @@ export default class MessageContent
132136 }
133137 }
134138
135- const ev = new CustomEvent ( ( this . isContent ? "fd" : "ct" ) + this . eventId , {
136- detail,
137- } ) ;
138- window . dispatchEvent ( ev ) ;
139+ const ev = new CustomEventClone (
140+ ( this . isContent ? "fd" : "ct" ) + this . eventId ,
141+ { detail }
142+ ) ;
143+ pageDispatchEvent ( ev ) ;
139144 }
140145
141146 public send ( action : string , data : any ) {
0 commit comments