我看到过一些关于如何在浏览器而不是 WebView 中打开链接的不同讨论,例如 this和 Phonegap's own documentation .不过,我在使这两个文件中的任何一个正常工作时遇到问题,我想知道这是否是因为我加载的 URL 不是本地 index.html
文件。这是我的设置。
我正在加载一个 URL www.example.com
。我希望所有 www.non-example.com
的 URL 在浏览器中打开,同时保持所有子 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 上运行良好。
广告 1)
您是否确保删除了其他冲突的访问规则,即默认规则 (access origin=".*") - 最宽松的规则获胜。
广告 2)
在重建项目之前清理项目以确保使用更新的 config.xml。
如果你想强制执行一个确切的行为,你总是可以使用插件和 native 代码,尽管对于打开浏览器来说这可能是一种矫枉过正。
关于javascript - 在 PhoneGap 的浏览器中打开链接(具有非本地 index.html 根目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126604/