summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi Ichikawa <gimite@gmail.com>2013-12-15 22:09:04 +0900
committerHiroshi Ichikawa <gimite@gmail.com>2013-12-15 22:09:04 +0900
commit338760f9522deee96406e4b742363276c4fa34ed (patch)
treede7aca1da2dea047275637ae5e0059733685788b
parent9c755f9a1cf54c6b006a210ab0997f88bd001350 (diff)
downloadweb-socket-js-338760f9522deee96406e4b742363276c4fa34ed.tar.gz
Using typeof(MessageEvent) to switch two ways to create MessageEvent.v1.0.1
-rw-r--r--web_socket.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/web_socket.js b/web_socket.js
index c74a485..6817aa9 100644
--- a/web_socket.js
+++ b/web_socket.js
@@ -203,21 +203,19 @@
};
WebSocket.prototype.__createMessageEvent = function(type, data) {
- if (document.createEvent && window.MessageEvent && !window.opera) {
+ if (window.MessageEvent && typeof(MessageEvent) == "function" && !window.opera) {
+ return new MessageEvent("message", {
+ "view": window,
+ "bubbles": false,
+ "cancelable": false,
+ "data": data
+ });
+ } else if (document.createEvent && window.MessageEvent && !window.opera) {
var event = document.createEvent("MessageEvent");
- if (event.initMessageEvent) { // IE does not accept 'new MessageEvent' so this has to stay
- event.initMessageEvent("message", false, false, data, null, null, window, null);
- } else if (event.initEvent) { // needed for FF 26 and possible others soon...
- var event = new MessageEvent('message', {
- 'view': window,
- 'bubbles': false,
- 'cancelable': false,
- 'data': data
- });
- }
+ event.initMessageEvent("message", false, false, data, null, null, window, null);
return event;
} else {
- // IE and Opera, the latter one truncates the data parameter after any 0x00 bytes.
+ // Old IE and Opera, the latter one truncates the data parameter after any 0x00 bytes.
return {type: type, data: data, bubbles: false, cancelable: false};
}
};