我是新来的移动开发。 我使用的PhoneGap /科尔多瓦创建一个跨平台的应用程序。 我的代码工作以及在Android上,但是当我将它移植到iPhone它显示一个错误:
[143:2003] ERROR whitelist rejection: url="abc"
现在,我可以克服这个问题?
我是新来的移动开发。 我使用的PhoneGap /科尔多瓦创建一个跨平台的应用程序。 我的代码工作以及在Android上,但是当我将它移植到iPhone它显示一个错误:
[143:2003] ERROR whitelist rejection: url="abc"
现在,我可以克服这个问题?
注意 :这个答案只适用于PhoneGap的版本1.x和下方。 从2.x版起,白名单的配置是通过做
cordova.xml
。
你必须允许的URL添加到PhoneGap.plist(或Cordova.plist)ExternalHosts阵列。
例如,如果你想允许访问该网址http://www.myhost.com/path/file
,再加入www.myhost.com
作为一个新进入ExternalHosts
阵列。
如果你想允许在谷歌的所有子域名访问内容(例如maps.google.com
, mails.google.com
),您可以添加*.google.com
作为一个新进入ExternalHosts
阵列。
我不知道为什么你的链接“ABC”,虽然。 你有“ABC”为纽带,以什么吗? 它是URI片段?
在PhoneGap的3.0,你需要在项目文件夹中编辑config.xml文件(注意:不是的WWW / config.xml中)
<access origin="*" />
在PhoneGap的3.0,你需要编辑www/config.xml
,并添加/修改<access>
标签。 例如,如果你想允许的一切,标签更改为:
<access origin="*" />
您可以添加在Cordova.plist文件这下面的代码:
<key>ExternalHosts</key>
<array>
<string>*.facebook.com</string>
</array>
随着*.facebook.com
作为域名,可以使用两种不同的子域。
你将不得不域白名单,以便您可以访问外域,如http://google.com 。
在IOS(科尔多瓦> 3.0.0),白名单规则被发现在AppName/config.xml
并申报与元件<access origin="..." />
您还可以使用通配符来声明域。 例如,要允许访问所有子域名和顶级域名(.COM,.NET等),谷歌,使用*.google.*
参考: 域名白名单指南
即使我得到了同样的问题......我固定它在下面way..In cordova.plist - >下ExternalHosts排列菜单,添加一个项目为*或。 。 因此,它允许所有的外部链接...如果u不得不提到一个接一个地提到它作为.facebook。 *谷歌*等。
这是因为PhoneGap的。对于旧版本下面的PhoneGap不会采取外部URL 2.x
,我们需要设置的网址在cordova.plist
这样。
例如: *.google.co.in
(ü可以把你的网址后,*本)和OpenAllWhitelistURLsInWebView
---到--- YES
。