mozilla
Your Search Results

    self

    Stable

    Access data that is bundled with the add-on, and add-on metadata.

    Note that the self module is completely different from the global self object accessible to content scripts, which is used by a content script to communicate with the add-on code.

    Globals

    Properties

    uri

    This property represents an add-on associated unique URI string. This URI can be used for APIs which require a valid URI string, such as the passwords module.

    id

    This property is a printable string that is unique for each add-on. It comes from the id property set in the package.json file in the main package (i.e. the package in which you run cfx xpi). While not generally of use to add-on code directly, it can be used by internal API code to index local storage and other resources that are associated with a particular add-on.

    name

    This property contains the add-on's short name. It comes from the name property in the main package's package.json file.

    version

    This property contains the add-on's version string. It comes from the version property set in the package.json file in the main package.

    loadReason

    This property contains of the following strings describing the reason your add-on was loaded:

    install
    enable
    startup
    upgrade
    downgrade
    

    isPrivateBrowsingSupported

    This property indicates whether or not the add-on supports private browsing. It comes from the private-browsing key in the add-on's package.json file.

    data

    The data object is used to access data that was bundled with the add-on. This data lives in the add-on's data/ directory, immediately below the package.json file. All files in this directory will be copied into the XPI and made available through the data object.

    The Package Specification article explains the package.json file.

    Methods

    data.load(name)

    The data.load() method returns the contents of an embedded data file, as a string. It is most useful for data that will be modified or parsed in some way, such as JSON, XML, plain text, or perhaps an HTML template. For data that can be displayed directly in a content frame, use data.url().

    Parameters

    name : string
    The filename to be read, relative to the package's data directory. Each package that uses the self module will see its own data directory.

    Returns

    string : the file contents.

    data.url(name)

    The data.url() method returns a resource:// url that points at an embedded data file. It is most useful for data that can be displayed directly in a content frame. The url can be passed to a content frame constructor, such as the Panel:

    var self = require("sdk/self");
    
    var myPanel = require("sdk/panel").Panel({
      contentURL: self.data.url("myFile.html")
    });
    
    myPanel.show();

    From Firefox 34, you can use "./myFile.html" as an alias for self.data.url("myFile.html"). So you can rewrite the above code like this:

    var myPanel = require("sdk/panel").Panel({
      contentURL: "./myFile.html"
    });
    
    myPanel.show();
    
    Parameters

    name : string
    The filename to be read, relative to the package's data directory. Each package that uses the self module will see its own data directory.

    Returns

    String : resource:// URL pointing to the given location under data.

    Document Tags and Contributors

    Tags: 
    Contributors to this page: wbamberg, maybe
    Last updated by: wbamberg,
    Hide Sidebar