erich.wanker Posted January 24, 2019 Share Posted January 24, 2019 Hello, for my UniGui Desktop-Browser App - i search a way to communicate between 2 BrowserTabs ( 2 UniGui-Dll´s on same Domain) Has someone made something with BroadcastChannel API ? - has someone a example or a code snipple? ThanX Erich Demo: https://irekrog.github.io/broadcast-channel-api-simple-example/ Source: https://github.com/irekrog/broadcast-channel-api-simple-example 1 Quote Link to comment Share on other sites More sharing options...
erich.wanker Posted January 24, 2019 Author Share Posted January 24, 2019 ok... fuck ;-) .. works great :-) ... i played a little bit and it works .. *stunning* procedure TMainForm.create_Broadcast_and_listener; var event_name:String; begin event_name:='MENUE'; UniSession.AddJS('var messageReceiver= new BroadcastChannel("Consumer"); '); UniSession.AddJS('messageReceiver.onmessage = function(event) { ajaxRequest(MainForm.form,'''+event_name+''',[''param0=''+event.data+'''']); } '); end; procedure TMainForm.send_broadcast(event_data:String); begin UniSession.AddJS('var broadcaster = new BroadcastChannel("Consumer"); '); UniSession.AddJS('broadcaster.postMessage("'+event_data+'"); '); end; procedure TMainForm.UniFormCreate(Sender: TObject); begin create_Broadcast_and_listener; end; procedure TMainForm.UniFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var parameter_0: String; begin parameter_0 := Params.Values['param0']; if EventName = 'MENUE' then begin showmessage(Params.Values['param0']); end; end; Button.onclick: send_broadcast('Hello World'); 1 Quote Link to comment Share on other sites More sharing options...
bahry Posted January 24, 2019 Share Posted January 24, 2019 Great work erich.wanker 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.