javascript - 在 PhoneGap 的浏览器中打开链接(具有非本地 index.html 根目录)

标签 javascript html cordova uiwebview webview

我看到过一些关于如何在浏览器而不是 WebView 中打开链接的不同讨论,例如 thisPhonegap'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/

相关文章:

javascript - 为什么 setter 方法对我的 JavaScript 对象中的其他变量没有任何影响?

html - 如何在保持内容居中的同时将 <hr> 添加到 <td> 的顶部?

ios - ionic cordova build --device --release ios 在 Cordova 9 上失败

javascript - 如何在动态元素上添加事件监听器?

javascript - 模板中带有脚本标签的广告 [Vue.js]

javascript - 包装器中的中心表格

javascript - Angular Directive(指令)未加载

html - 网站 Favicon 工作正常但在 Chrome 书签中不工作

javascript - Phonegap 联系人。更新联系人时保存重复的电话号码

javascript - 将结果打印到我的 Select 语句到我的 HTML(phonegap) 中的列表中