自动填充表单之类的扩展如何保存配置文件的表单数据

时间:2012-12-21 07:23:54

标签: javascript firefox-addon

我正在尝试开发像自动填充表单这样的扩展。它看起来很简单但是在实现时我却陷入了困境。我们如何存储永久创建的配置文件的数据。我尝试在javaScript中使用localStorage来保存数据,但是它的临时性。任何指导都非常有用。请告诉我我将到达目的地的方式

function count()
{
 var inputs = $("input:text").length;
    alert("inputs are = "+inputs);

 var cnt = document.forms.length;

 alert(cnt);

 for (var a=0;a<document.forms.length;a++)
 {
  var x=0;
  var elem = document.forms[a].elements;
     for (x=0;x<document.forms[a].elements.length;x++)
  {
   //elem[x].value="Hello";
   if(x==0)
   {
    localStorage.setItem('userName', elem[x].value);    
   }
  }
  alert("Your user is: " + localStorage.getItem('userName'));
 }

}

1 个答案:

答案 0 :(得分:0)

使用“首选项”服务将数据存储在用户的配置文件中。例如:

var prefService = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService);
var prefs = prefService.getBranch("extensions.YOUREXTENSIONABBREVIATION.");

//elem[x].value = "Hello";
if (x==0) {
   prefs.setCharPref('userName', elem[x].value);
   prefService.savePrefFile(null);  
}
alert("Your user is: " + prefs.getCharPref('userName'));

有关详细信息,请查看此处:

https://developer.mozilla.org/en-US/docs/Adding_preferences_to_an_extension

在扩展程序的“defaults / preferences”文件夹中包含“defaults.js”文件。如果您尝试在存在之前检索某些内容,请初始化您要存储在首选项文件中的每个项目。