1
0
Fork 0
forked from 0x2620/oxjs

cleanup Message code

This commit is contained in:
rolux 2013-02-24 15:06:08 +05:30
commit c1f9e9d7a3
3 changed files with 23 additions and 22 deletions

View file

@ -1,14 +1,9 @@
Ox.Message = (function() {
/*
{
oxid: if coming from an iframe
event: string
data: object
}
/*@
Ox.Message <o> Message controller
@*/
Ox.Message = (function() {
Ox.Message.post('play', {foo:'bar'});
Ox.Message.post(iframe, {event: 'play', data: {foo:'bar'}});
*/
var that = {},
callbacks = [];
@ -24,22 +19,26 @@ Ox.Message = (function() {
callback(data.event, data.data, data.oxid);
});
} else {
Ox.Log('Message', 'unknown message', e.data);
Ox.Log('Core', 'unknown message', e.data);
}
});
that.bind = function(callback) {
callbacks.push(callback);
}
that.post = function(/* [target], event, data */) {
};
that.post = function(/*[target, ]event, data */) {
var target, data, event;
if (arguments.length == 2) {
target = window.parent;
event = arguments[0];
data = arguments[1];
} else {
target = Ox.isElement(arguments[0][0]) ? arguments[0][0] : $('#' + arguments[0])[0];
target = target.contentWindow;
target = (
Ox.isElement(arguments[0][0])
? arguments[0][0]
: $('#' + arguments[0])[0]
).contentWindow;
event = arguments[1];
data = arguments[2];
}
@ -48,6 +47,8 @@ Ox.Message = (function() {
data: data,
oxid: window.oxid
}), '*');
}
};
return that;
})();