FireFox Extension XulSchool - Adding Events and Commands - on load function

88 views Asked by At

I'm trying to edit the helloworld from this tutorial:

https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Getting_Started_with_Firefox_Extensions

So, I need to execute a function when page loads, this part of the tutorial explains how to do that:

https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Adding_Events_and_Commands

I edited the browserOverlay.js file, I writed the init function and that listener at the end of the code:

/**
 * XULSchoolChrome namespace.
 */
if ("undefined" == typeof(XULSchoolChrome)) {
  var XULSchoolChrome = {};
};

/**
 * Controls the browser overlay for the Hello World extension.
 */
XULSchoolChrome.BrowserOverlay = {
  init : function(event) {
    window.alert('aaaaeeee');
  },
  /**
   * Says 'Hello' to the user.
   */
  sayHello : function(aEvent) {
    let stringBundle = document.getElementById("xulschoolhello-string-bundle");
    let message = stringBundle.getString("xulschoolhello.greeting.label");

    window.alert(message);
  }
};

window.addEventListener("load", function() {
  //window.removeEventListener("load", onFirefoxLoadEvent, false); // remove listener, no longer needed
  XULSchoolChrome.BrowserOverlay.init();
}, false);

and I edited the broserOverlay.xul, I writed the onload propertie at overlay tag:

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin/" ?>
<?xml-stylesheet type="text/css"
  href="chrome://xulschoolhello/skin/browserOverlay.css" ?>

    <!DOCTYPE overlay SYSTEM
      "chrome://xulschoolhello/locale/browserOverlay.dtd">

    <overlay id="xulschoolhello-browser-overlay"
      onload="XulSchoolChrome.BrowserOverlay.init();"
      xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

      <script type="application/x-javascript"
        src="chrome://xulschoolhello/content/browserOverlay.js" />

      <stringbundleset id="stringbundleset">
        <stringbundle id="xulschoolhello-string-bundle"
          src="chrome://xulschoolhello/locale/browserOverlay.properties" />
      </stringbundleset>

      <menubar id="main-menubar">
        <menu id="xulschoolhello-hello-menu" label="&xulschoolhello.hello.label;"
          accesskey="&xulschoolhello.helloMenu.accesskey;" insertafter="helpMenu">
          <menupopup>
            <menuitem id="xulschoolhello-hello-menu-item"
              label="&xulschoolhello.hello.label;"
              accesskey="&xulschoolhello.helloItem.accesskey;"
              oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" />
          </menupopup>
        </menu>
      </menubar>

      <vbox id="appmenuSecondaryPane">
        <menu id="xulschoolhello-hello-menu-2" label="&xulschoolhello.hello.label;"
          accesskey="&xulschoolhello.helloMenu.accesskey;"
          insertafter="appmenu_addons">
          <menupopup>
            <menuitem id="xulschoolhello-hello-menu-item-2"
              label="&xulschoolhello.hello.label;"
              accesskey="&xulschoolhello.helloItem.accesskey;"
              oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" />
          </menupopup>
        </menu>
      </vbox>
    </overlay>

It does not alert on page loads.... why?

0

There are 0 answers