| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 | 2 |
| 3 <head><title>Post message tests</title> | 3 <head><title>Post message tests</title> |
| 4 <script> | 4 <script> |
| 5 // Send a message to our opener, and it will reply. | 5 // Send a message to our opener, and it will reply. |
| 6 function postToOpener(msg, origin) { | 6 function postToOpener(msg, origin) { |
| 7 window.opener.postMessage(msg, origin); | 7 window.opener.postMessage(msg, origin); |
| 8 return true; | 8 return true; |
| 9 } | 9 } |
| 10 | 10 |
| 11 // Send a message to a window named "foo". | 11 // Send a message to a window named "foo". |
| 12 function postToFoo(msg) { | 12 function postToFoo(msg) { |
| 13 var w = window.open("", "foo"); | 13 var w = window.open("", "foo"); |
| 14 w.postMessage(msg, "*"); | 14 w.postMessage(msg, "*"); |
| 15 return true; | 15 return true; |
| 16 } | 16 } |
| 17 | 17 |
| 18 // Send a message to a subframe of window named "foo". | 18 // Send a message to a subframe of window named "foo". |
| 19 function postToFooFrame(msg) { | 19 function postToFooFrame(msg) { |
| 20 var w = window.open("", "foo"); | 20 var w = window.open("", "foo"); |
| 21 w.frames[0][0].postMessage(msg, "*"); | 21 w.frames[0][0].postMessage(msg, "*"); |
| 22 return true; | 22 return true; |
| 23 } | 23 } |
| 24 | 24 |
| 25 // Listen to incoming messages. | 25 // Listen to incoming messages. |
| 26 var receivedMessages = 0; | 26 var receivedMessages = 0; |
| 27 var receivedMessagesWithPort = 0; |
| 27 window.addEventListener("message", messageReceived, false); | 28 window.addEventListener("message", messageReceived, false); |
| 28 function messageReceived(event) { | 29 function messageReceived(event) { |
| 29 receivedMessages++; | 30 receivedMessages++; |
| 30 if (event.data === "2-1-reply") { | 31 if (event.data === "2-1-reply") { |
| 31 event.source.postMessage("msg4", "*"); | 32 event.source.postMessage("msg4", "*"); |
| 32 } | 33 } |
| 33 // Change the title to generate a notification. | 34 if (event.ports.length > 0) { |
| 34 document.title = event.data; | 35 receivedMessagesWithPort++; |
| 36 var port = event.ports[0]; |
| 37 port.start(); |
| 38 port.postMessage("msg-back-via-port"); |
| 39 // Change the title to generate a notification. |
| 40 document.title = event.data.message; |
| 41 } else { |
| 42 document.title = event.data; |
| 43 } |
| 35 } | 44 } |
| 36 </script> | 45 </script> |
| 37 </head> | 46 </head> |
| 38 | 47 |
| 39 </html> | 48 </html> |
| OLD | NEW |