Search code examples
javascriptfirefoxfirefox-addonfirefox-addon-sdk

firefox addon sdk: get page load time


When using this Firefox Addon SDK example:

var tabs = require("sdk/tabs");
tabs.open({
  url: "http://www.example.com",
  onReady: runScript
});

function runScript(tab) {
  tab.attach({
    contentScript: "document.body.style.border = '5px solid red';"
  });
  console.log(tab.title);
}

How can I get the page load time and print it to the console?

(like the app.telemetry Addon does - http://www.apptelemetry.com/de/page-speed-monitor.html)


Solution

  • Just use Navigation Timing API:

    window.onload = function(){
      setTimeout(function(){
        var t = performance.timing;
        console.log(t.loadEventEnd - t.responseEnd);
      }, 0);
    }
    

    Notice that it's a Javascript API so it must run inside a Content Script (ie, it won't work inside your lib/main.js or index.js file).