【问题标题】:Developing Cordova plugins for Firefox OS为 Firefox OS 开发 Cordova 插件
【发布时间】:2015-01-15 22:44:16
【问题描述】:

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

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

看起来 Firefox 操作系统在其操作系统的较低层使用 Android 开源项目,称为 Gonk。但是,看起来 Gronk 被埋在比应用程序更深的几层。这是我需要编写插件代码的地方吗?看起来在那里编写的代码不会通过 gecko / gaia 层暴露出来,不幸的是,Cordova plugin developer's guide 没有任何关于从哪里开始的信息。

【问题讨论】:

    标签: cordova cordova-plugins firefox-os


    【解决方案1】:

    如果你能在那个级别上与 Gonk 发生冲突,我认为这可以算作重大安全威胁。现在 Fira 是系统字体,您可以使用自己的字体,只需将其与 css 一起包含在您的应用程序中即可。

    我想现在 Firefox OS 中没有这样的东西,但我会及时通知你,以防我发现什么。

    【讨论】:

    • 是的,我想知道“你不能从这里到达那里”是否是这个问题的答案,至少在 Firefox OS 开发人员开发字体 API 之前。看起来在 Firefox OS 内核中安装了一些其他字体(请参阅 stackoverflow.com/questions/20207159/…)——所以我可以破解这个东西并给出一个静态答案,但我可能会更新每当操作系统添加/删除字体时。但这可能是现在去这里的方式。我会等着看是否有人插话。谢谢!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      1. 对于“如何为 firefox os 创建cordova 插件”的一般问题?答案是“在 javascript 中”。如果您在Cordova's own plugins 的源代码中四处寻找,深入到 src/firefoxos 目录,您会注意到每个在 firefox os 上实现功能的插件都是使用 javascript 实现的。这种方式提出了 EdoPut 和 zalun 提出的观点——Cordova 插件不会向下钻取并公开任何尚未通过 javascript 公开的内容,相反,任何未公开给 javascript 的内容对客户端应用程序都是不可用的。这就是firefox os的荣耀和痛苦。
      2. 对于“我想动态检索设备上安装的字体”的具体情况,答案是你不能。目前的 API 没有直接的方法可以做到这一点,正如这个 google 小组主题所添加的那样,returning a static list isn't guaranteed to be correct between versions or vendors

      一种基于浏览器是否在此处进行字体替换的 hack-y 方法来动态获取字体:http://www.lalit.org/lab/javascript-css-font-detect/。我之前尝试过,它在 Firefox 上运行,但在 webkit/chrome 上不行——因此我希望首先为 iOS/Android 制作这个插件。我最终可能会将此方法用于我的插件的 firefoxos 端口。

      【讨论】:

      • 我将此标记为答案,但将奖项授予 EdoPut 以帮助我解决问题。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多