OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script> | 2 <script> |
3 var channelName = location.search.substr(1); | 3 var channelName = location.search.substr(1); |
4 var channel = new BroadcastChannel(channelName); | 4 var channel = new BroadcastChannel(channelName); |
5 channel.postMessage({ name: window.name, | 5 channel.postMessage({ name: window.name, |
6 haveOpener: window.opener !== null }); | 6 haveOpener: window.opener !== null }); |
7 window.close(); | 7 |
| 8 // Because messages are not delivered synchronously and because closing a |
| 9 // browsing context prompts the eventual clearing of all task sources, this |
| 10 // document should not be closed until the opener document has confirmed |
| 11 // receipt. |
| 12 channel.onmessage = function() { |
| 13 window.close(); |
| 14 }; |
8 </script> | 15 </script> |
OLD | NEW |