在PhoneGap中打开浏览器中的链接(使用非本地index.html根目录)

时间:2013-02-28 02:50:04

标签: javascript html cordova uiwebview webview

我已经看到了一些关于如何在浏览器中打开链接而不是像thisPhonegap's own documentation这样的WebView的不同讨论。但是我在使这两个中的任何一个工作时遇到了问题,我想知道是不是因为我正在加载除本地index.html文件之外的URL。这是我的设置。

我正在加载网址www.example.com。我希望在浏览器中打开www.non-example.com的所有网址,同时在我的WebView中保留所有子网址。我已将cordova.xml编辑为

<access origin="http://www.example.com"/>

但是当我输入带

的网址时
<a href="http://www.non-example.com" target="_blank">Foo</a>

并在我的Android设备中单击它,它只是在WebView而不是浏览器中打开它。我不知道这是否相关,但是我使用此版本将PhoneGap更新为2.2,并在与config.xml相同的级别添加了index.html(虽然我不确定它是否正在使用,因为我没有从头开始重新创建我的Android项目。所以我的问题可以归结为:

1)如果我使用的是非本地index.html,如何确保在浏览器中打开网址?

2)我如何知道我的config.xml文件是否正在使用?

2 个答案:

答案 0 :(得分:0)

我刚刚尝试了你所描述的内容,它适用于Cordova 2.3。

ad 1)

您是否确定删除了其他冲突的访问规则,即默认规则(access origin =“。*”) - 最松散的规则获胜。

ad 2)

在重建项目之前清理项目,以确保使用更新的config.xml。

如果你想强制执行一个确切的行为,你总是可以使用插件和本机代码,虽然打开浏览器这可能是一种过度杀伤。

答案 1 :(得分:0)

似乎有一个被接受的答案here。 gist看起来像你可以调用导航器对象并告诉它打开一个链接,传递一个{external:true}参数。我没有测试过,祝你好运!