Skip to content

sorenlouv/frametalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Simple postMessage wrapper to make cross-frame communication easy as pie. Supports promises and return values. (No dependencies)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published