| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 | | ( |  |     function(){ |  |         function Message() { |  |             Object.defineProperties( |  |                 this, { |  |                     data: { |  |                         enumerable: true, |  |                         get: getData, |  |                         set: setData |  |                     }, |  |                     type: { |  |                         enumerable: true, |  |                         get: getType, |  |                         set: setType |  |                     }, |  |                     load:{ |  |                         enumarable:true, |  |                         writable:false, |  |                         value:parse |  |                     }, |  |                     JSON: { |  |                         enumerable: true, |  |                         get: getJSON |  |                     } |  |                 } |  |             ); |  |   |  |             var type = ''; |  |             var data = {}; |  |   |  |             function getType() { |  |                 return type; |  |             } |  |   |  |             function getData() { |  |                 return data; |  |             } |  |   |  |             function getJSON() { |  |                 return JSON.stringify( |  |                     { |  |                         type: type, |  |                         data: data |  |                     } |  |                 ); |  |             } |  |   |  |             function setType(value) { |  |                 type = value; |  |             } |  |   |  |             function setData(value) { |  |                 data = value; |  |             } |  |   |  |             function parse(message){ |  |                 try{ |  |                     var message=JSON.parse(message); |  |                     type=message.type; |  |                     data=message.data; |  |                 }catch(err){ |  |                     var badMessage=message; |  |                     type='error', |  |                     data={ |  |                         message:'Invalid JSON response format', |  |                         err:err, |  |                         response:badMessage |  |                     } |  |                 } |  |             } |  |         } |  |   |  |         window.Message=Message; |  |     } |  | )(); | 
 |