为 Firefox OS 开发 Cordova 插件



如何在Firefox OS上创建Cordova插件?

我有一个为iOS和Android编写的cordova插件,我想添加Firefox OS支持。具体来说,它枚举了已安装在移动设备上的字体(我的用例是一个主要离线的编辑器/翻译工具)。

看起来Firefox OS在其操作系统的较低层使用Android开源项目,称为Gonk。但是,看起来 Gronk 被埋藏在比应用程序更深的几层。这是我需要编写插件代码的地方吗?似乎那里编写的代码不会通过壁虎/盖亚层暴露,不幸的是,Cordova插件开发人员指南没有任何关于从哪里开始的信息。

如果你能在这个级别上惹Gonk,我认为它可以被视为一个主要的安全威胁。今天,Fira是系统字体,您可以使用自己的字体,只需将其包含在带有css的应用程序中即可。

我想现在Firefox OS中没有这样的东西,但是如果我发现什么,我会随时通知您。

怕无法从Firefox OS中的"Android"层获取任何信息。你当然可以为你的机器做这件事,但由于没有Javascript字体API,所以不可能在JavaScript中创建这样的代码。所有Cordova应用程序都拥有与其他Firefox OS应用程序完全相同的权利。

好的,看起来这是一个由两部分组成的答案:

  1. 对于"如何为 Firefox OS 创建 cordova 插件?"的一般问题,答案是"在 JavaScript 中"。如果你在 Cordova 自己的插件的源代码中四处闲逛,深入到 src/firefoxos 目录,你会注意到每个在 Firefox OS 上实现该功能的插件都是使用 javascript 来实现的。这就引出了 EdoPut 和 zalun 的观点——Cordova 插件不会向下钻取并公开任何尚未通过 javascript 公开的内容,相反,任何未公开给 javascript 的东西都不适用于客户端应用程序。这就是火狐操作系统的荣耀与痛苦。
  2. 对于我的"我想动态检索设备上安装的字体"的特定情况,答案是你不能。没有直接的方法可以使用当前的 API 执行此操作,并且正如此 google group 主题所添加的那样,不能保证在版本或供应商之间返回静态列表是正确的。
有一种

黑客方法可以根据浏览器是否在此处进行字体替换来动态获取字体:http://www.lalit.org/lab/javascript-css-font-detect/。我之前尝试过这个,它确实适用于火狐,但不适用于webkit/chrome - 因此我希望首先为iOS/Android制作这个插件。我最终可能会将此方法用于我的插件的 firefoxos 端口。

最新更新