Javascript 变量问题(firefox扩展)

Javascript 变量问题(firefox扩展),javascript,variables,Javascript,Variables,我尝试制作firefox扩展,它显示两个按钮:1和2。当您按下按钮1以获取var path值(即当前打开页面的地址)时,新选项卡将处于活动状态。在这个选项卡中有一个按钮2,它允许放置var path(第一个选项卡的这个地址)的(innerHTML)值。 现在的问题是:button1使用函数kuku.open(),button2使用函数kuku.save(),但第一个函数中的var在kuku.save()中不存在 我认为,问题是因为路径是局部变量,但我不能使用全局变量。它可以工作,每个浏览器只有一

我尝试制作firefox扩展,它显示两个按钮:1和2。当您按下按钮1以获取var path值(即当前打开页面的地址)时,新选项卡将处于活动状态。在这个选项卡中有一个按钮2,它允许放置var path(第一个选项卡的这个地址)的(innerHTML)值。 现在的问题是:button1使用函数kuku.open(),button2使用函数kuku.save(),但第一个函数中的var在kuku.save()中不存在

我认为,问题是因为路径是局部变量,但我不能使用全局变量。它可以工作,每个浏览器只有一个选项卡。我的意思是,当用户按下A页上的按钮N1和B页上的按钮N1时,这两个新打开的页面将具有相同值的var路径。当您按下其他站点上的按钮时,它将覆盖路径的值。我希望,我没有让你感到头晕;)


有人知道了吗?

将变量放在对象中,而不是函数中。如果变量在函数中,则只有函数可以访问它:

var kuku = {};
kuku.path = "";

kuku.open = function () {
  kuku.path = content.location.href;
  //The rest of the code here
};


kuku.save = function () {
  content.body.innerHTML=kuku.path;
};
它不起作用:(当我打开两个标签(例如google.com和facebook.com)时,我将从gogle按下按钮1,它将打开新标签,kuku.path的值将是google AddAddress。但接下来,当我在facebook上按下按钮1时,值将变为facebook地址,并且在这两个新打开的页面中相同
var kuku = {};
kuku.path = "";

kuku.open = function () {
  kuku.path = content.location.href;
  //The rest of the code here
};


kuku.save = function () {
  content.body.innerHTML=kuku.path;
};