Skip to content

Commit 986e6c9

Browse files
committed
reintroduce declarative recipient by messenger user
- automatic declaration is not possible due to browser security restriction about accessing cross domain object
1 parent ba5059a commit 986e6c9

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

example/static/index.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,17 @@
2525
</div>
2626

2727
<script>
28+
var messenger = new Messenger({channel:'general'}) // subscribe to "general" as default channel
29+
2830
function openChild() {
29-
window.open(
31+
var w = window.open(
3032
'?',
3133
(()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,a=>(a^Math.random()*16>>a/4).toString(16)))(),
3234
'resizable=yes,scrollbars=yes,dependent=yes,width=500,height=250'
3335
);
36+
messenger.addRecipient(w)
3437
}
3538

36-
var messenger = new Messenger({channel:'general'}) // subscribe to "general" as default channel
3739
messenger.subscribe('A')
3840
messenger.subscribe('B')
3941

src/index.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
import EventDispatcher from "js-class.event-dispatcher";
22

3-
window.MessengerWelcome_260b9b39071b9918 = function(w=null)
4-
{
5-
if(w)
6-
Messenger.___.recipients.add(w)
7-
else
8-
{
9-
if(window.opener && typeof window.opener.MessengerWelcome_260b9b39071b9918 === "function")
10-
window.opener.MessengerWelcome_260b9b39071b9918(window);
11-
}
12-
}
13-
143
export default class Messenger {
154

165
static ___ = {
@@ -31,8 +20,10 @@ export default class Messenger {
3120

3221
this.events = new EventDispatcher(this);
3322
window.addEventListener('message', this.__handleMessage.bind(this))
23+
}
3424

35-
window.MessengerWelcome_260b9b39071b9918();
25+
addRecipient(recipientWindow) {
26+
Messenger.___.recipients.add(recipientWindow)
3627
}
3728

3829
subscribe(channel) {

0 commit comments

Comments
 (0)