遇到的情景是这样的:

公司的APP需要增加一个新功能,可以在内嵌的页面上点击按钮跳转到相应的APP原生列表界面,内嵌的网页由后台编辑,但是以前的老版本APP没有这个功能,如果在页面上直接显示按钮,新版本没问题,老版本就会出现没反应的情况,因为老版本没有内嵌那个方法,所以如何兼容新老版本,我们得出一个简单的方法。

就是先获取APP的一些信息,新版本会增加一些版本的信息在里面,然后判断这个信息版本是不是大于某个版本值,如果是,那就显示新按钮,如果不是,那就显示的按钮跳转到wap页面。

[cce]
<script type="text/javascript">
  //机型和版本判断
  function CanShare() {
    var ua = navigator.userAgent;
      // 判断是否 iPhone 或者 iPod
      if((navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
        // 判断APP版本号是否大于630
        if (/podinn\/(\S+)/i.test(ua)) {
          var ver = RegExp['$1'];
          if(parseFloat(ver) >= 630)
          return true;
        }
        return false;
      } else {
        //安卓系统
        if (/podinn\/(\S+)/i.test(ua)) {
          var ver = RegExp['$1'];
          if(parseFloat(ver) >= 630)
          return true;
        }
        return false;
      }
    }
</script>
[/cce]


[cce]
<div id="divbutton1"><!--老版本显示部分-->
  <a href="#">杭州</button></a>
</div>

<div id="divbutton2" style="display:none"><!--新版本显示部分-->
  <a href="#">杭州</button></a>
</div>

<!--判断部分显示-->
<script>
  $(function()
{
  if(CanShare())
  {
  $("#divbutton1").hide();
  $("#divbutton2").show();
  }
});
</script>
[/cce]

APP信息获取概况
[cce]
<script type="text/javascript">
var x = navigator;
document.write("CodeName=" + x.appCodeName);
document.write("<br />");
document.write("MinorVersion=" + x.appMinorVersion);
document.write("<br />");
document.write("Name=" + x.appName);
document.write("<br />");
document.write("Version=" + x.appVersion);
document.write("<br />");
document.write("CookieEnabled=" + x.cookieEnabled);
document.write("<br />");
document.write("CPUClass=" + x.cpuClass);
document.write("<br />");
document.write("OnLine=" + x.onLine);
document.write("<br />");
document.write("Platform=" + x.platform);
document.write("<br />");
document.write("UA=" + x.userAgent);
document.write("<br />");
document.write("BrowserLanguage=" + x.browserLanguage);
document.write("<br />");
document.write("SystemLanguage=" + x.systemLanguage);
document.write("<br />");
document.write("UserLanguage=" + x.userLanguage);
</script>
[/cce]