Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

chrome-bus

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chrome-bus

Share an event emitter among chrome runtime components

  • 2.0.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

chrome-bus

Share an event emitter among chrome runtime components

Because managing anonymous events is not fun

This module is used by chromiumify

js-standard-style

install

$ npm install chrome-bus

usage

basic

This usage is when you have a background page that you want to communicate to.

var createBus = require('chrome-bus')
var bus = createBus()

bus.on('hello', function (msg) {
  console.log('msg=', msg)
})

bus.emit('hello', Date.now())

webview

Communicating with webviews in chrome apps is not straight forward as a channel between the host page and the view needs to be created.

There is also no way for a page to know if it is being hosted in a webview.

So there are conventions for working around this.

Below are the main parts you need to understand but see the sample app for a working sample

host page
var view = document.getElementById('wv') 
view.addEventListener('contentload', function (evt) { // You have to wait for the webview to load before attaching the eventbus
  var wvbus = createBus(view) // Pass in the webview when creating the bus
  wvbus.on('goodbye', function (msg) {
    assert.ok('Message Received')
    console.log('msg=', msg)
  })
  
  wvbus.emit('hello', Date.now())
})

In the HTML for the view ensure that the URI to the location of the view contains a bookmark to fragment

<webview src="webview.html#fragment" id="wv" partition="wvevent" autosize="true" minwidth="500" minheight="450"></webview>
webview page
var bus = createBus() // no additional parameter is allowed as the #fragment tag is used to create a namespace

bus.on('hello', function (msg) {
  assert.ok('Message Received')
  console.log('msg=', msg)
  bus.emit('goodbye', Date.now())
})

Keywords

FAQs

Package last updated on 08 Oct 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc