2

我一直在为 Firefox OS 开发我的网络应用程序,因为我不知道如何测试它......我使用 deviceStorage API 访问 sdcard,但 Firefox 模拟器无法识别任何外部 sdcard,所以我想我不能用模拟器吧?

我也有一个 Unagi 设备(带有最后一次固件更新),但是 deviceStorage API 需要特权权限,我不知道如何在实际设备上测试特权应用程序......如果在清单中,我设置了“类型” :“特权”,我的应用程序在模拟器上运行良好(除了需要 sdcard 访问的代码),但如果我将应用程序推送到设备,什么都不起作用!(应用程序内禁用了 Javascript,只有 HTML 可以工作)有没有办法使用 firefoxos 设备测试打包的 PRIVILEGED 应用程序,而无需将其发送到 Firefox Marketplace?我听说在旧版本中有一个“开发者模式”,但似乎在新版本中它已被禁用......

谢谢!

4

3 回答 3

1

我的印象是设备存储 API 在模拟器中工作,它使用操作系统中的文件夹来保存图像/音频/视频?

此外,如https://marketplace.firefox.com/developers/docs/firefox_os_simulator中所述,通过 Firefox OS Simulator 将特权应用程序推送到您的 Unagi 应该可以工作

您是否在控制台中看到任何错误,这些错误可能会提供有关什么不起作用的线索?尝试输入

亚行日志猫

于 2013-05-28T12:56:38.263 回答
1

您可以在您的计算机上制作假 sdcard:在配置文件目录中添加一个名为“fake-sdcard”的文件夹 ~/.mozilla/firefox/xxxx.default/extensions/r2d2b2g@mozilla.org/profile/fake-sdcard

当您调用 navigator.getDeviceStorage("sdcard") 时,模拟器会出现在这里

我还发现您有时必须在推送后重新启动手机才能使 JavaScript 工作。

于 2013-07-05T19:37:29.493 回答
0

我认为问题很可能是应用于特权应用程序的CSP(内容安全策略) 。

它适用的一个限制是不允许 HTML 文件中的内联脚本。因此,所有脚本都必须是 HTML 中引用的单独 JS 文件,而不是内联脚本块。

CSP 仅在您添加到清单后才生效type: privileged,因此如果您从一开始就没有此,则很难注意到问题。真的,发生这种情况时应该有警告。

于 2015-10-26T23:37:42.573 回答