2011-12-21 106 views
15

我希望能够链接到phonegap webview内的网页,该网页在同一个phonegap webview中加载外部网页。如果我这样做,它加载网页视图内:如何在手机网页视图中加载网页?

public class App extends DroidGap { 
    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("http://google.com"); 
    } 
} 

不过,我想有一个内部页面首次推出,并链接到外部网页,所以我这样做:

public class App extends DroidGap { 
    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("file:///android_asset/www/index.html"); 
    } 
} 

我有一个链接:

<a href="#" onclick="navigator.app.loadUrl('http://google.com')">Google</a> 

但这链接可启动谷歌应用程序之外,在网络浏览器,而不是在PhoneGap的web视图。我能做些什么来确保在应用的phonegap webview中启动到外部页面的链接?

+0

我在哪里添加这个? – MaxRocket 2016-08-08 01:28:03

回答

18

Ahhh ..找到了答案this question。 我不得不

<access origin="www.google.com"/> 

添加到phonegap.xml文件。

3

在Cordova.plist中最新的phonegab(1.7)中有一个Key:OpenAllWhitelistURLsInWebView将其设置为YES。

+1

..反正,这显然只适用于iOS。 – tapmonkey 2012-07-08 09:43:55

9

这似乎已经改变,并且访问起源似乎没有效果。如果您使用的是科尔多瓦白名单插件,就像标准一样。您需要在config.xml文件中使用allow-navigation。没有这个,它会打开你的网页浏览器。

<plugin name="cordova-plugin-whitelist" version="1"/> 
<allow-navigation href="https://google.com/*" /> 

然后就可以使用了window.location = 'https://google.com' 移动到你的JS中的另一个网页。

+0

这应该是正确的答案。给了我很多的伤心。其他答案已过时v4。我刚刚添加了 2015-05-28 17:48:32

+0

我不认为标记是必要的。只是。 – SBerg413 2015-06-18 00:33:28

+0

我试过了,它似乎不适用于CLI 5.1.1。在Android上,它总是打开一个新标签:(即使使用''并且插件已安装 – 2015-08-28 14:32:39