繁体   English   中英

Firefox附加SDK侧边栏不兼容-如何警告用户?

[英]Firefox add-on sdk sidebar incompatibility - How do I warn the user?

我已经使用插件sdk创建了一个插件。 我的附加组件使用ui / sidebar模块。 如果用户使用较旧版本的Firefox(例如Firefox ESR 24.1.1)安装我的加载项,浏览器将通知用户该加载项已成功安装。 但是,该加载项实际上会产生以下错误(在浏览器控制台中可见):

Error: Module `sdk/ui/sidebar` is not found at resource://gre/modules/commonjs/sdk/ui/sidebar.js
resource://gre/modules/commonjs/sdk/loader/cuddlefish.js 133

这是有道理的,因为我已经阅读了侧边栏模块是在版本26中引入的。我的理解是尽管如此,该附件仍会安装,因为浏览器具有“默认兼容”功能。

但是,我发现此行为对于我的附加组件非常不理想。 在不了解控制台的情况下,用户将不知道安装失败。 通知用户有关附加不兼容性的最佳实践是什么? 有没有办法执行minVersion? 我是否应该在侧边栏require语句周围放置try块,并尝试向用户发出某种警报,以告知他们不兼容?

是否有解决此问题的标准方法? 任何建议都很好。 谢谢。

更新: minVersion一直都设置为21.0。

MDN上的该页面使我认为SDK的最新版本与Firefox的当前版本(当时为27)相对应。 但是,似乎新版本的SDK尚未发布很长时间了。 我使用的是1.15版(我是从此页面下载的)。 由于不久前发布了1.15,所以当时的Firefox当前版本为21.0,因此minVersion设置为21.0。 我在发布前未能对其进行检查,因此给人的印象是,当minVersion为27时,该插件已安装在Firefox 24上。

当您将加载项上载到AMO时,您需要说明的有关加载项的其中一项就是与Firefox(或SeaMonkey或Fenec)的兼容性:

在此处输入图片说明

除此之外,您还可以在your-addon.xpi(注意这是一个zip文件)中编辑以下行的install.rdf文件:

<!-- Firefox -->
<em:targetApplication>
  <Description>
    <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
    <em:minVersion>21.0</em:minVersion>
    <em:maxVersion>25.0a1</em:maxVersion>
  </Description>
</em:targetApplication>

当您作为用户尝试安装插件(即.xpi文件)时,Firefox将检查这些行。

您必须做的是正确设置最低和最高版本,以避免不兼容的浏览器安装附加组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM