3

我的环境:
Eclipse SDK 4.2.1
Cordova 2.2.0 (Phonegap)
目标平台:Android 4.0.3 (API Level 15)

我尝试过搜索许多论坛(包括这个),但似乎无法找到解决此问题的方法。

首先,目录中页面之间的链接assets/www可以正常工作。但是,在其中一页上,我有:

<a href="http://www.google.com">Google</a>

我也尝试过 rel="external"作为属性,但结果是一样的。

我已根据说明在 Android 白名单中指定了 google.com,方法是添加:

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

到 res/xml/config.xml 文件。

点击上面链接的结果是:

应用程序错误
发生网络错误。(http://www.google.com/)

应用程序崩溃。

我在为 API 级别 15 设置的 AVD 管理器(模拟器)和功能设备(带有 Android 4.0.3 的 HTC One X)上都得到了结果。两者都可以通过其他方式访问 Internet。

任何建议,将不胜感激。

4

2 回答 2

0

D/Cordova(560):onPageFinished(文件:///android_asset/www/index.html)D/chromium(560):未知铬错误:-400 D/DroidGap(560):onMessage(onPageStarted,http:// www.google.com/) D/Cordova (560): CordovaWebViewClient.onReceivedError: 错误代码=-1 描述=发生网络错误。URL=http://www.google.com/ D/DroidGap(560): onMessage(onReceivedError,{"errorCode":-1,"url":"http://www.google.com/","description ":"发生网络错误。"}) D/DroidGap(560): onMessage(onPageStarted,http://www.google.com/) D/Cordova (560): onPageFinished(http://www.google. com/) D/DroidGap(560): onMessage(onNativeReady,null) D/DroidGap(560): onMessage(onPageFinished,http://www.google.com/) D/SoftKeyboardDetect(560): 忽略此事件 D/科尔多瓦(560):

我见过的唯一一次 -400 错误是缺少 Internet 权限时:

<uses-permission android:name="android.permission.INTERNET"/>
于 2012-11-04T02:23:14.637 回答
0

您需要固定的白名单吗?

我通常会很好:

<access origin="*" />

问题可能是 Google 正在转发到另一个端口 (https/443),因此子域规范无济于事。

或者您可以在不指定协议的情况下尝试:

<access origin="google.com" subdomains="true" />

或尝试使用此处描述的通配符:

<access origin="*google.com*" />
于 2013-08-09T09:53:34.510 回答