src/Topxia/AdminBundle/Resources/public/js/controller/player/messenger.js
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
define(function(require, exports, module) {
var OriginMessenger = require('messenger');
var Widget = require('widget');
var Messenger = Widget.extend({
attrs: {
name: '',
project: '',
children: [],
type: '' //enum: parent,child
},
events: {
},
setup: function() {
var self = this;
var messenger = new OriginMessenger(this.get("name"), this.get("project"));
if (this.get("type") == "child") {
messenger.addTarget(window.parent, 'parent');
} else if (this.get("type") == "parent") {
var children = this.get("children");
for (var i = children.length - 1; i >= 0; i--) {
messenger.addTarget(children[i].contentWindow, children[i].id);
};
}
messenger.listen(function(msg) {
msg = JSON.parse(msg);
self.trigger(msg.eventName, msg.args);
})
this.set("messenger", messenger);
},
sendToParent: function(eventName, args) {
this.get("messenger").targets['parent'].send(
this.convertToString(eventName, args)
);
},
sendToChild: function(child, eventName, args) {
this.get("messenger").targets[child.id].send(
this.convertToString(eventName, args)
);
},
convertToString: function(eventName, args) {
var msg = {
"eventName": eventName,
"args": args
};
msg = JSON.stringify(msg);
return msg;
}
});
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。