Measuring page load time in IE8, Opera and Safari
The W3C navigation timing API which makes available lots of lovely page performance metrics. The API has been implemented in Chrome 6, Firefox 7 and Internet Explorer 9 (and all subsequent versions of course). It’s even made it into the Android browser for Ice Cream Sandwich.
Sadly it’s not (yet) available in any version of Opera or Safari (mobile or desktop) and it’s not available in legacy versions of browsers (such as IE8). Here’s a table showing which browsers have and haven’t implemented the Navigation timing API.
Recently I needed to test the performance of a website using the three major desktop browsers, but unfortunately the version of internet explorer to be tested was IE8. This ruled out using the navigation timing api. So I did some digging to find a way of testing IE8 and any other browser in a way that was comparable and without me needing to add code to the webpage itself.
Eventually I found and used this old stopwatch utility that loads the page to be tested in a frame and measures the page load time (from the initial request until the browser signals the page is complete).
Not as fancy as the page performance metrics you get from the navigation timing API, but with a few clicks and a spreadsheet you can produce some comparable metrics including browsers that have no support the window.performance.timing object.
The navigation timing API is supported in Opera from version 15 onwards.
The navigation timing API is supported in the current versions of all the major browsers (including mobile) with the irritating exception of Safari and iOS Safari (Plus Opera Mini)
The developer preview of Sarafi 8 for both OS X and iOS8 included navigation timing support.