android – Cordova Phonegap和Google Maps v3 javascript api:如何在点击许可链接或Google地图徽标时添加后退按钮功能

前端之家收集整理的这篇文章主要介绍了android – Cordova Phonegap和Google Maps v3 javascript api:如何在点击许可链接或Google地图徽标时添加后退按钮功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景:
Android上运行的Cordova phonegap 2.2应用程序允许收听后退按钮事件
document.addEventListener("backbutton",function(e){ history.back();}

谷歌地图api V3创建地图,其中谷歌徽标链接到左下角的谷歌地图网页和右下角的可点击许可链接.徽标或服务条款链接没有特定的ID /选择器.

问题
当点击其中一个链接时,网页会被重定向到带有:target:_blank的Google网页,然后该网站会在与Cordava应用程序相同的窗口中打开,但后退按钮功能会丢失,因为该网页包含自己的Javascript.

是否可以在加载网页时注入一些代码

一种解决方案可能是在外部打开链接

navigator.app.loadUrl([href here],{ openExternal:true } );

但是又一次仍然存在缺乏选择者的问题.

更新:在许可页面或Google地图中单击按钮时,我在logcat中收到以下错误消息:11-13 16:20:30.500:E / Web控制台(31508):未捕获的ReferenceError:未定义cordova:1

解决方法

这是与谷歌地图链接相交的一种方法.

假设您有可用的jquery,可以在脚本中包含此方法

function directUrlToExternalBrowser(urlPattern) {
  var pattern = "a[href^='"+urlPattern+"']";//all urls startting with urlPattern
  $(pattern).live('click',function(e){
      e.preventDefault();
      navigator.app.loadUrl($(pattern).attr("href"),{openExternal: true});
  });
}

然后,您可以通过以下行将点击引导至phonegap api:

directUrlToExternalBrowser("http://maps.google.com/maps");
directUrlToExternalBrowser("http://www.google.com/intl");

猜你在找的Android相关文章