system/events
Module provides core (low level) API for working with the application observer service, also known as nsIObserverService. You can find a list of events dispatched by firefox codebase here.
Example
var events = require("sdk/system/events");
var { Ci } = require("chrome");
function listener(event) {
var channel = event.subject.QueryInterface(Ci.nsIHttpChannel);
channel.setRequestHeader("User-Agent", "MyBrowser/1.0", false);
}
events.on("http-on-modify-request", listener);
API Reference
Functions
emit(type, event)
Send an event to observer service
The event type.
An optional object object with data
and subject
attributes.
data
refers to a string that you would like to pass through this event.
subject
should refer to the actual actor/subject of this event (ie: the object emitting the event).
on(type, listener, strong)
Listen to events of a given type
The event type name to watch.
Function that will be called when an event is fired, with a single event
object as argument. This object has three attributes:
- type: the event type name
- subject: the event subject object
- data: the event data string
Default is false
, a weak reference, which means it can be garbage collected at any time if
there are no other references to it. Determines if we should keep a strong of weak reference
to the listener method.
once(type, listener, strong)
Listen only once to a particular event type
The event type name to watch.
Function that will be called when an event is fired.
Default is false
, a weak reference, which means it can be garbage collected at any time if
there are no other references to it. Determines if we should keep a strong of weak reference
to the listener method.
off(type, listener)
Stop listening for an event
The event type name to unsubscribe to.
The function we registered to listen for events.