安卓应用中外部图片无法显示 - Meteor - Cordova

3
我正在使用Meteor开发一个Android应用程序,遇到了从外部来源显示图像的问题。
以下的<img>标签应该可以显示Google Maps API中基于纬度和经度的图像:
<img src="http://maps.googleapis.com/maps/api/staticmap?center={{loc.lat}},{{loc.lng}}&zoom=15&size=600x300&maptype=roadmap&markers=color:blue%7C{{loc.lat}},{{loc.lng}}" />

尽管这在浏览器中有效,但在尝试在Android设备上运行时,我会在服务器上收到以下错误
XMLHttpRequest无法加载http://10.0.2.2:3000/sockjs/info?cb=p4ej3xginv。Origin http://meteor.local未被Access-Control-Allow-Origin允许。
我需要像在使用Phonegap时那样将“google maps api”域放入某种“白名单”中吗?
如果是这样,在Meteor中我们该如何做?
2个回答

11

3
如果您想允许所有应用程序访问规则,请使用以下代码:App.accessRule("*");。请注意,翻译时我已经尽力使语言通俗易懂且保持原意,但没有提供任何解释或额外内容。 - Nate
谢谢大家!那非常有帮助! - Aditya

4
在 mobile-config.js 中添加访问规则可以解决 Cordova 应用程序中外部图像的加载问题。
  1. 在项目根目录中创建一个 mobile-config.js 文件
  2. 添加 App.accessRule('https://www.mycdn.com/*');
  3. 构建和运行您的应用程序 meteor run ios

这是另一种选择,我猜可能有一些不同之处:

  1. 在项目根目录中创建一个名为 cordova-build-override 的文件夹
  2. .meteor/local/cordova-build 中的 config.xml 复制到您新创建的 cordova-build-override 文件夹中
  3. 根据需要添加外部原始服务器 <access origin="https://www.mycdn.com/*"/>
  4. 构建和运行您的应用程序 meteor run ios

最初,我尝试使用 browser-policy 包并设置 BrowserPolicy.content.allowImageOrigin("https://www.mycdn.com/*");,但显然那是另一回事?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接