Android 上的 PhoneGap 不会加载外部脚本

发布于 2025-01-08 01:43:41 字数 346 浏览 1 评论 0原文

我正在制作一个简单的应用程序来加载谷歌地图。但问题是每次我加载这个

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

它都不会在我的 Android 模拟器上运行,而在桌面上它工作正常。如何让 Phonegap 或 Android 允许外部脚本工作/加载?

更新:我总是收到此错误“应用程序错误:与服务器的连接失败。(文件///android_asset/www/index.html)。但是如果我删除了谷歌地图脚本。它可以工作。

I'm making a simple app that will load a google map. but the problem is everytime I load this

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

It wont run on my android emulator while on desktop it works fine. how can I let Phonegap or Android allow external scripts to work/load?

UPDATE: I always get this error "Application Error: The connection to the server was unsuccessful.(file///android_asset/www/index.html). But if I removed the google map script. it works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

故乡的云 2025-01-15 01:43:41

实际上,白名单就是@TDeBailleul所说的问题,但他指的是iOS中白名单的位置,而不是Android中的位置。

在android中,它位于 /res/xml/PhoneGap.xml

这个答案中有一个该文件的示例: https://stackoverflow .com/a/9187479/878602

Actually, the whitelist is the issue like @TDeBailleul said, but he was referring to the location of the whitelist in iOS not Android.

In android, it is in /res/xml/PhoneGap.xml

There is an example of this file in this answer: https://stackoverflow.com/a/9187479/878602

慕烟庭风 2025-01-15 01:43:41

在最新的PhoneGap版本(2.7.0)中。您应该修改位于 Android 项目的 /res/ 目录中的文件“config.xml”。只需添加:

<access origin="http://www.yourdomain.com" subdomains="true" />

除非另有设置,否则假定域被阻止。

In the lastest PhoneGap version(2.7.0). You should modify the file "config.xml" located in /res/ directory of your Android project. Simply add:

<access origin="http://www.yourdomain.com" subdomains="true" />

Domains are assumed blocked unless set otherwise.

纵情客 2025-01-15 01:43:41

在phonegap 5.1版本中,事情与上面的答案不同。

安装了一个名为 cordova-plugin-whitelist 的插件。阅读 plugins/cordova-plugin-whitelist/README.md 中的文件以了解详细信息。

白名单有多种(导航、意图和访问来源),在这种情况下您需要内容安全策略。

<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="script-src: 'self' 'unsafe-inline' 'unsafe-eval' 'https://maps.google.com'">

In the phonegap version 5.1 things are different than the above answers.

There is a plugin installed called cordova-plugin-whitelist. Read the file at plugins/cordova-plugin-whitelist/README.md to know details.

There are multiple kind of whitelist(navigation, intent and access-origin) and in this case you need the content-security -policy.

<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="script-src: 'self' 'unsafe-inline' 'unsafe-eval' 'https://maps.google.com'">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文