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;
| }
| )();
|
|