Skip to content
Simple postMessage wrapper to make cross-frame communication easy as pie. Supports promises and return values. (No dependencies)
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.travis.yml
README.md
index.js
index.test.js
package.json
yarn.lock

README.md

Install

$ npm install --save frametalk

One way usage

Send a message to another frame.

const frametalk = require('frametalk');

// Frame A: send a message to frame B
frametalk.send(frameB, 'hello', {foo: 'bar'});

// Frame B: receive message from frame A
frametalk.on('hello', (event, data) => {
  console.log(data); // output: {foo: 'bar'}
});

Two way usage

Send a message to another frame and get a response back

const frametalk = require('frametalk');

// Frame A: send request to frame B, and await reply
frametalk.request(frameB, 'getStatus')
  .then((res) => {
    console.log(res); // output: {status: 'OK'}
  });

// Frame B: receive message from frame A, and send reply back
frametalk.replyOn('getStatus', (event) => {
  return {status: 'OK'};
});

You can also respond with a promise:

frametalk.replyOn('getStatus', (event) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({status: 'Still OK'});
    }, 1000);
  })
});
You can’t perform that action at this time.