J'essaie d'accéder au localStorage d'une page à partir d'une extension Firefox. Ma compréhension est que content
donne une référence à la window
de la page en cours. Quand j'essaye d'accéder au localStorage pour la page avec content.localStorage
, je pense que j'obtiens une référence à lui. Cependant, quand j'essaye content.localStorage.length
, je n'ai rien.localStorage dans une extension Firefox
Ci-joint le code en 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: Plus d'informations.
try{
alert(content.localStorage.getItem('todoData'))
alert(content.localStorage.length)
} catch (e){
alert(e)
}
La longueur est de lancer l'exception « [Exception ... "Component n'est pas disponible" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"
localStorage.length
fonctionne quand je l'ai sur une page Web standard dans Firefox , mais content.localStorage.length
dose ne fonctionnera pas de l'extension Firefox. maintenant, je suis confus ...
window.content est undefined! – Praveen