如何在打包的应用程序中使用外部API(谷歌地图)

时间:2015-07-03 04:08:07

标签: firefox-os content-security-policy

我的应用程序需要在打包的应用程序中执行GoogleMap API的外部URL。当我在模拟器上执行代码时,我在安全选项卡

中收到以下错误

“内容安全策略:页面设置阻止了https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true&callback=initialize(”script-src app:// 58b444ed-2bd9-4ce2-8687-09694b09d6ae“)加载资源。”

请提供解决方案来处理此问题

此致 Rashmi

1 个答案:

答案 0 :(得分:0)

您可能会收到CPS错误的原因很少。有关更多信息,请参阅此URL。 https://developer.mozilla.org/en-US/Apps/Build/Building_apps_for_Firefox_OS/CSP

默认情况下,仅对特权和认证的应用程序强制执行CSP。如果您有一个简单的打包应用程序,则不应该有CSP问题。如果您没有提及应用类型的任何内容,则不应该有问题。

特权应用的CSP是:

"default-src *; 
 script-src 'self'; 
 object-src 'none'; 
 style-src 'self' 'unsafe-inline'"

对于认证:

"default-src *; 
 script-src 'self'; 
 object-src 'none'; 
 style-src 'self'"

这意味着您不能拥有指向远程服务器以外的脚本。如果您的打包应用程序正在加载外部URL,您可以通过服务器代理google js。由于script-src将匹配default-src,它应该可以工作。

否则,您可以将脚本直接保存在项目中。这可能不推荐,但也可以。

如果使用evalnew Function,Google提供的脚本也可能无法正常运行。