字符串包在Firefox 25中的工作方式不同?

时间:2013-11-01 15:32:35

标签: javascript firefox firefox-addon xul

我一直在收到一些错误报告,说明我的Firefox扩展程序已不再在Firefox 25中运行。我无法重现错误,但有人向我发送了他们看到的错误:

TypeError:this.rehostImageBundle.getString不是函数@ chrome://rehostimage/content/rehostimage.js:196

rehostimage.js:

this.rehostImageBundle = document.getElementById("us.engy.rehostImage.bundle");
...
var stringValue = this.rehostImageBundle.getString("message.uploadprogress");

它们在相同的函数中运行,在相同的范围内。最后一行是第196行。

rehostimage.xul:     

<!DOCTYPE window SYSTEM "chrome://rehostimage/locale/rehostimage.ent">
<overlay id="rehostimage" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script type="application/x-javascript" src="chrome://rehostimage/content/rehostimage.js"/>
  ...

  <popup id="contentAreaContextMenu">
    <stringbundleset id="us.engy.rehostImage.stringbundles">
      <stringbundle id="us.engy.rehostImage.bundle" src="chrome://rehostimage/locale/rehostimage.properties"/>
    </stringbundleset>
    ...
  </popup>
  ...
</overlay>

所以看起来当它调用getElementById它没有提出stringbundle,但我不知道它为什么会这样做,或者为什么它只会在某些设置中发生。

我检查了Add-on Compatibility for Firefox 25,但没有看到任何关于字符串捆绑的内容。

任何人遇到这个或有任何想法?

1 个答案:

答案 0 :(得分:0)

结果是与菜单编辑器的扩展冲突。关于Firefox 25的一些内容改变了它与上下文菜单交互的方式,该菜单删除了我在上下文菜单覆盖中包含的资源包。我将捆绑包移动到插件栏覆盖层,这解决了冲突。