Crossrider Popup在Firefox中缓存

时间:2015-03-04 05:00:30

标签: javascript firefox crossrider

我在Crossrider扩展和Firefox中遇到一个非常简单的弹出代码问题(在35.0.1和25.0.1上测试但我很确定在其他版本上也是如此)。

这是extension.js

appAPI.ready(function($) {
  randNumber = Math.floor((Math.random() * 1000) + 1);  
  appAPI.message.toBackground({
    msgRand: randNumber
  });
});

这是background.js

appAPI.ready(function($) {
  appAPI.message.addListener(function(msg) {        
    randomNumber = msg.msgRand;        
    appAPI.browserAction.setResourceIcon('icon.png');
    appAPI.browserAction.setPopup({
        html: '<h1>' + randomNumber + '</h1>',
        height: 300,
        width: 300
    });        
  });
});

上面的代码应该显示1到1000之间的随机数,但它只在第一次点击按钮时起作用,从那时起它就会一直显示相同的数字,无论我是在同一个标​​签中打开一个链接还是在新标签中。 数字更改的唯一时间是我打开一个新窗口时(但如果我在同一窗口中打开一个新链接或该窗口中的新选项卡,该数字仍然与最初为该窗口显示的数字相同)。 例如,如果我在窗口1中打开一个站点并单击扩展名的按钮,它将显示111.当我单击按钮时,我在此窗口中打开的每个其他链接将始终显示111。如果我在窗口1打开时打开另一个窗口,当我单击该按钮时它可能会显示555,这将是此窗口中每个新选项卡的编号。

我在Chrome中尝试了相同的代码(准确地说是SRWare Iron)和IE 11,所有内容似乎都按预期工作。

我也很确定问题来自代码的setPopup部分,因为我试图通过alert显示randomNumber的值,每次都不同(加上代码在IE和Chrome中有效) (尚未在Safari中测试过))。

这是扩展ID,以防它可能有所帮助 - 72164

P.S。我的英语技能有点生疏,所以如果我没有正确解释,请告诉我。

0 个答案:

没有答案