forked from 0x2620/oxjs
update Message code
This commit is contained in:
parent
c1f9e9d7a3
commit
e6bc3dcdbb
3 changed files with 70 additions and 41 deletions
|
|
@ -23,30 +23,34 @@ Ox.Message = (function() {
|
|||
}
|
||||
});
|
||||
|
||||
/*@
|
||||
.bind <f> Adds message handler
|
||||
(callback) -> <o> Ox.Message
|
||||
callback <f> Callback function
|
||||
|
||||
@*/
|
||||
that.bind = function(callback) {
|
||||
callbacks.push(callback);
|
||||
return that;
|
||||
};
|
||||
|
||||
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]
|
||||
).contentWindow;
|
||||
event = arguments[1];
|
||||
data = arguments[2];
|
||||
}
|
||||
/*@
|
||||
.post <f> Sends a message
|
||||
(target, event, data) -> <o> Ox.Message
|
||||
target <o|s> Ox.$parent or iframe Ox.Element or element id
|
||||
event <s> Event name
|
||||
data <o> Event data
|
||||
@*/
|
||||
that.post = function(target, event, data) {
|
||||
target = target == Ox.$parent ? window.parent
|
||||
? Ox.isElement(target[0]) ? target[0]
|
||||
: $('#' + target)[0];
|
||||
target.postMessage(JSON.stringify({
|
||||
event: event,
|
||||
data: data,
|
||||
oxid: window.oxid
|
||||
}), '*');
|
||||
return that;
|
||||
};
|
||||
|
||||
return that;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue