Cordova / Phonegap在Cordova主视图中加载外部网站

时间:2016-05-10 13:39:35

标签: javascript android ios cordova webview

我想要什么

我有外部网络资源,我希望cordova webview能够轻松打开并能够浏览其内部导航。

描述

InAppBrowser docs说

  

InAppBrowser窗口的行为类似于标准Web浏览器,并且无法实现   访问Cordova API。因此,建议使用InAppBrowser   如果您需要加载第三方(不受信任的)内容,而不是   将其加载到Cordova主视图中

所以我有一个值得信赖的外部链接(让我们说http://www.google.com我想在主webview中加载并希望通过window.location.href或用户链接点击来控制它的进程。

我尝试了什么

使用最新的cordova生成hello world应用程序并插入

window.location.href = 'http://www.google.com/'

到它的onDeviceReady。它的配置已经有了(我试图将其改为具体的地址)

<access origin="*" />

我也试过了window.open和手动用户链接点击,但我所有的都是对话框,在外部浏览器中打开链接,而不是在同一个webview中呈现它。 我也尝试了InAppBrowser扩展,当我禁用导航栏但它有通信问题并且不能在手动链接舔和window.location.href更改时工作正常。

1 个答案:

答案 0 :(得分:10)

在ios和android上使用以下规则解决了这个问题:

<access origin="*" />
<allow-navigation href="*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="tel:*" />
<allow-navigation href="sms:*" />
<allow-navigation href="mailto:*" />
<allow-navigation href="geo:*" />

如果你遇到同样的问题,你还需要知道以下事项: