为了测试Firefox OS功能,我正在编写一个特权应用程序,可以访问设备上的各种API,但我陷入了开发的困境。我希望你能帮助我,我找不到任何有用的文件......
我想从我的应用访问Google Maps API,但这需要在应用包之外加载脚本(类似<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?....."></script>
)。
由于特权应用程序中的CSP限制,这仅适用于模拟器,但在我的设备上,我无法加载这些API。
有没有办法禁用CSP限制(仅用于测试目的)或任何解决此问题?我试过了
<iframe src="frame.html" sandbox="allow-same-origin allow-scripts"></iframe>
,
但是frame.html都没有能够加载这些脚本......
答案 0 :(得分:1)
只有在构建/刷新自己的Gaia时,才能禁用默认的CSP限制。然后你可以添加像
这样的东西pref("security.apps.privileged.CSP.default", "default-src *; script-src *; object-src 'none'; style-src *");
到Gaia目录中的build/custom-prefs.js
文件。请注意,虽然您可以执行此操作,但实际执行此操作可能不是一个好主意,因为它不适用于未安装自定义Gaia的任何设备。特权应用程序需要在打包的应用程序中包含所有脚本资源。
在您的情况下,更好的解决方案(以及唯一适用于真实设备的解决方案)是在构建时获取Google代码并将其包含在您的打包应用中(因此您将其用作<script src='js/googlemapsapi.js'></script>
或类似的东西)。
答案 1 :(得分:0)
要在您的设备上运行,必须经过授权市场审核,批准和数字签名。然后只有您的应用程序将在真实设备上运行。欲了解更多信息,请点击以下链接。我不认为你可以覆盖这个规则。