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

Opening links in the browser in PhoneGap (with a non-local index.html root)

本文关键字:index html PhoneGap 浏览器 链接      更新时间:2023-09-26

我看过一些关于如何在浏览器中打开链接而不是像这样的WebView和Phonegap自己的文档的不同讨论。我有问题得到这两个工作中的任何一个,虽然,我想知道这是因为我正在加载一个URL,而不是一个本地index.html文件。这是我的设置。

我正在加载URL www.example.com。我希望所有的url都是www.non-example.com在浏览器中打开,同时保持所有子url加载在我的WebView。我将cordova.xml编辑为

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

但是当我用

放URL时
<a href="http://www.non-example.com" target="_blank">Foo</a>
在我的Android设备上点击它,它只是在WebView中打开,而不是在浏览器中。我不知道这是否相关,但我在这个版本中更新了我的PhoneGap到2.2,并在与我的index.html相同的级别添加了config.xml(尽管我不确定它是否被使用,因为我没有从头开始重新创建我的Android项目)。所以我的问题归结为:

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

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

我刚刚尝试了你所描述的,它在Cordova 2.3中工作得很好。

ad 1)

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

ad 2)

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

如果你想执行一个精确的行为,你总是可以使用插件和本地代码,尽管对于打开浏览器来说这可能是多余的。

这里似乎有一个公认的答案。要点似乎是,您可以调用导航器对象并告诉它打开链接,并传递一个参数{external: true}。我还没有测试过,祝你好运!