【发布时间】:2014-03-10 19:41:14
【问题描述】:
我已经使用插件 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 上的This page 让我认为 SDK 的最新版本对应于当前版本的 Firefox(当时是 27 版本)。但是,看起来新版本的 SDK 已经有一段时间没有发布了。我使用的是 1.15 版(我从 this page 下载的)。由于前一阵子发布了 1.15,当时 Firefox 的当前版本是 21.0,因此将 minVersion 设置为 21.0。发帖前我没检查,所以我的印象是当 minVersion 为 27 时,插件已安装在 Firefox 24 上。
【问题讨论】:
标签: javascript firefox sdk firefox-addon firefox-addon-sdk