3

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

我正在加载一个 URL www.example.com。我希望www.non-example.com在浏览器中打开所有 URL,同时将所有子 URL 加载到我的 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,如何确保在浏览器中打开 URL?

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

4

2 回答 2

0

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

广告 1)

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

广告 2)

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

如果你想强制执行一个确切的行为,你总是可以使用插件和本机代码,尽管对于打开浏览器来说这可能是一种矫枉过正。

于 2013-02-28T23:17:13.410 回答
0

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

于 2013-02-28T23:39:06.580 回答