UNPKG

xo-bus

Version:
51 lines (45 loc) 1.64 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width"> <title>My page title</title> <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300|Lobster+Two' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="style.css"> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <h2>Page 2</h2> <ul></ul> <form> <label for="message-input">Send a message</label> <input type="text" id="message-input" autofocus> <button>Send Message</button> </form> <script src="http://localhost:8002/lib/eventbus.js"></script> <script > var list = document.querySelector('ul'); const eb = new CrossOriginEventBus({name: 'page3'}) var input = document.getElementById('message-input'); var button = document.querySelector('button'); button.addEventListener('click', onClick); function onClick(e) { e.preventDefault(); eb.send({type: 'input', value: input.value}) } eb.subscribe('added', () => { input.value = ''; }) eb.subscribe('input', (e) => { var listItem = document.createElement('li'); listItem.textContent = e.data.value; list.appendChild(listItem); eb.send({type: 'added', value: 'Message received by IFrame: "' + e.data.value + '"'}); }) eb.request('test').then((resp) => console.log('done', resp)) </script> </body> </html>