Android 上的 PhoneGap 不会加载外部脚本
我正在制作一个简单的应用程序来加载谷歌地图。但问题是每次我加载这个
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
实际上,白名单就是@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
在最新的PhoneGap版本(2.7.0)中。您应该修改位于 Android 项目的 /res/ 目录中的文件“config.xml”。只需添加:
除非另有设置,否则假定域被阻止。
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:
Domains are assumed blocked unless set otherwise.
在phonegap 5.1版本中,事情与上面的答案不同。
安装了一个名为
cordova-plugin-whitelist
的插件。阅读plugins/cordova-plugin-whitelist/README.md
中的文件以了解详细信息。白名单有多种(导航、意图和访问来源),在这种情况下您需要内容安全策略。
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 atplugins/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.