在 Phonegap 3.x/Cordova 3.x 中:是否有任何 Hook ,以便我们可以检查用户在我们的网页上单击了哪个链接。
背景:我们将 Google map 添加到我们的 cordova 应用程序中。 Google map 带有“(c) Google Inc.”。我们不允许删除或修改的链接。所以当用户点击“(c) Google Inc.”时链接,出现 Google map 免责声明,用户无法在 iOS 中返回到我们的应用程序。 (在 Android 和 Windows Phone 上有硬件后退按钮,但在 iOS 上没有)。
如果我们可以 Hook 到 URL 打开事件,我们可以拦截调用并在应用内浏览器或系统浏览器或类似的东西中打开链接。
欢迎使用任何解决方案 - 无论是 JavaScript、Phonegap 设置还是 Objective-C 代码。 (还有 C#/Windows Phone 或 Java/Android,但如前所述,由于硬件后退按钮,这两个平台上的问题可以忽略不计)。
PS:也许我们可以通过 phonegap 设置 execpt 链接和 CSS 类“内部”或类似的东西来打开应用内浏览器中的每个链接。在那种情况下,我们只是将我们的链接标记为所说的类!?
谢谢!
最佳答案
要在单独的浏览器应用程序(例如 Safari)中打开链接,请参阅 https://stackoverflow.com/a/18919588/11461 - 我认为这是执行用户期望的最佳方式。
编辑
啊,抱歉,我以为这就是你想要的结果。在我的代码中,我使用 $(document).on('click', 'a', function() { ...whatever... });
拦截链接点击,但我想那不会不适用于 Google map 版权链接?
一个偷偷摸摸的解决方案可能是创建您自己的链接(仍会转到相关的 Google 页面)并将其放在 map 顶部的同一位置。这样,这个角落的任何点击都将在您的控制之下。
恐怕我不知道如何 Hook 离开应用程序范围的浏览器调用。
关于cordova - Phonegap/ Cordova : Hook when opening a link?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831372/