I am trying to access the localStorage of a page from a Firefox extension. My understanding is that content
gives a reference to the window
of the current page. When I try and access the localStorage for the page with content.localStorage
, I think I am getting a reference to it. However, when I try content.localStorage.length
, I get nothing.
Attached is the code in question.
var myExtension = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true);
},
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget;
alert(content.localStorage) // alerts "[object XPCNativeWrapper [object Storage]]"
alert(content.localStorage.length) // alerts nothing
}
window.addEventListener("load", function() { myExtension.init(); }, false);
EDIT#1: More information.
try{
alert(content.localStorage.getItem('todoData'))
alert(content.localStorage.length)
} catch (e){
alert(e)
}
The length is throwing the exception "[Exception... "Component is not available" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"
localStorage.length
works when I have it on a standard web page in Firefox, but content.localStorage.length
dose not work from the Firefox extension. Now I'm confused...