2015-01-15 89 views
2

如何在Firefox OS上创建cordova插件?为Firefox OS开发Cordova插件

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

它看起来像firefox OS在其操作系统的较低层使用Android开放源代码项目Gonk。但是,它看起来像Gronk被埋在比应用程序更深的一层。这是我需要编写插件代码的地方吗?它似乎没有写在那里的代码将通过壁虎/盖亚层暴露,不幸的是,Cordova plugin developer's guide没有任何信息从哪里开始。

回答

1

好了,看起来这是一个两部分的答案:“如何创建一个用于Firefox OS的一个插件科尔多瓦”

  1. 对于一般问题答案是“在JavaScript中”。如果您在Cordova's own plugins的源代码中进行探索,深入研究src/firefoxos目录,您会注意到,在Firefox上实现功能的每个插件都是通过javascript实现的。这种类型提出了EdoPut和zalun所做的一点 - Cordova插件不会向下钻取并暴露任何未通过JavaScript公开的内容,相反,任何未暴露给javascript的内容对于客户端应用程序都是不可用的。这是firefox os的荣耀和痛苦。
  2. 对于我的“我想动态检索设备上安装的字体”的具体情况,答案是,您不能。目前的API没有直接的方法来做到这一点,并且谷歌组合主题增加了returning a static list isn't guaranteed to be correct between versions or vendors

种黑客攻击-Y方式动态获取基于浏览器无论是做字体替换字体在这里:http://www.lalit.org/lab/javascript-css-font-detect/。我早些时候尝试过,它在firefox上工作,但不是在webkit/chrome上 - 因此我希望首先为iOS/Android制作这个插件。我可能最终将使用此方法用于我的插件的firefoxos端口。

+1

我将此标记为答案,但将奖项授予EdoPut帮助我。谢谢! – eb1

2

如果你可以在这个级别与Gonk混淆,我认为这可能被视为一个重大的安全威胁。今天Fira是系统字体,你可以使用自己的字体,只需将它包含在你的应用程序中用CSS。

我想现在在Firefox OS中没有这样的事情,但我会保持更新以防万一我找到了一些东西。

+1

是的,我想知道“你不能从这里得到”是这个问题的答案,至少在Firefox OS开发人员开发字体API之前。 它看起来像在Firefox OS内核中安装了一些其他字体(请参阅http://stackoverflow.com/questions/20207159/what-are-the-system-fonts-of-firefox-os) - 如此我*可以*破解的东西,并给出一个静态的答案,但是我可能会更新它时,操作系统添加/删除字体。但那可能是现在这种方式。我会拭目以待,看看是否有其他人加入。谢谢! – eb1

2

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