Ich versuche, von einer Firefox-Erweiterung auf die localStorage einer Seite zuzugreifen. Mein Verständnis ist, dass content
einen Verweis auf die window
der aktuellen Seite gibt. Wenn ich versuche, auf die localStorage für die Seite mit zuzugreifen, denke ich, dass ich einen Hinweis darauf bekomme. Wenn ich jedoch content.localStorage.length
versuche, bekomme ich nichts.localStorage in einer Firefox-Erweiterung
Beigefügt ist der betreffende Code.
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: Weitere Informationen.
try{
alert(content.localStorage.getItem('todoData'))
alert(content.localStorage.length)
} catch (e){
alert(e)
}
Die Länge wirft die Ausnahme „[Exception ... "ist Component nicht verfügbar" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"
localStorage.length
funktioniert, wenn ich es auf einem Standard-Web-Seite in Firefox , aber content.localStorage.length
Dosis nicht von der Firefox-Erweiterung arbeiten. Jetzt bin ich verwirrt ...
window.content ist nicht definiert! – Praveen