Phonegap/Cordova:打开链接时如何挂钩?

3
在 Phonegap 3.x/Cordova 3.x 中: 是否有任何钩子,以便我们可以检查用户在我们的网页上点击了哪个链接。
背景: 我们向 cordova 应用中添加了 Google 地图。Google 地图带有一个 "(c) Google Inc." 链接,我们不允许删除或修改这个链接。因此,当用户点击 "(c) Google Inc." 链接时,在 iOS 中会出现 Google 地图免责声明,并且用户没有办法回到我们的应用程序。 (在 Android 和 Windows Phone 上有硬件返回按钮,但在 iOS 上没有)。
如果我们能够钩入 URL 打开事件,就可以拦截调用并在应用内浏览器或系统浏览器中打开链接等操作。
欢迎任何解决方案-无论是 JavaScript、Phonegap 设置还是 Objective-C 代码。(也包括 C#/Windows Phone 或 Java/Android,但由于硬件返回按钮的存在,这两个平台上的问题可以忽略)。
PS: 也许我们可以通过 phonegap 设置打开每个链接,除了具有 CSS 类 "internal" 或类似名称的链接。在这种情况下,我们只需标记我们的链接为该类!
谢谢!
1个回答

0

要在单独的浏览器应用程序(例如Safari)中打开链接,请参见https://dev59.com/iWUo5IYBdhLWcg3w-zii#18919588 - 我认为这是执行用户期望的最佳方法。

编辑

啊,抱歉,我以为那是你想要的结果。在我的代码中,我使用$(document).on('click', 'a', function() { ...whatever... });拦截链接点击,但我想这对Google Maps版权链接不起作用?

一个狡猾的解决方案可能是创建自己的链接(仍然转到相关的Google页面),并将其放置在地图的同一位置上。这样,此角落中的任何点击都将在您的控制下。

恐怕我不知道如何挂钩离开应用程序范围的浏览器调用。


1
你好!谢谢,但那并没有回答我的问题。问题是要“拦截”链接的点击事件,并决定如何打开它。我知道有不同的选项可以在应用内浏览器、系统浏览器或当前窗口中打开链接。 - schube

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接