从弹出窗口将事件附加到窗口

时间:2016-12-07 08:50:15

标签: javascript javascript-events webrtc

我正在编写一个使用socket的库。

在MyPeer.js文件中

var MyPeer = (function(){
    function MyPeer( opt ){
        var self = this;
        this.socket = new Socket(opt);
        this.socket.on('message', function(data) {
            self.emit('onmessage', data);
            if ( data.type == 'MYTYPE' ) {
                self.emit('myevent', data);
            }
        });
    }
    return MyPeer;
})();

在我的页面中,我创建了一个新的MyPeer和listen事件。它工作正常。

var myPeer = new MyPeer();
myPeer.on('onmessage', function(data){
    console.log('in onmessage');//it works
});
myPeer.on('myevent', function(data){
    console.log('in myevent');//it works
});

在此页面中,我使用window.open函数打开一个新的弹出窗口。在弹出窗口中,我访问myPeer变量并监听事件。有些活动效果很好,有些活动不起作用。

window.opener.myPeer.on('onmessage', function(data){
    console.log('in onmessage in popup');//it works
});
window.opener.myPeer.on('myevent', function(data){
    console.log('in myevent in popup');//it doesn't work
});

你能否帮我解释为什么myevent无法正常工作?我怎样才能实现这个目标?

0 个答案:

没有答案