iOS智能横幅仅适用于iOS7

时间:2013-11-18 20:21:07

标签: javascript ios banner

我对Apple提供的Smart Banner元标记有些困难。我希望智能横幅仅在用户运行iOS 7或更高版本时显示。 用于检查使用哪个iOS版本的脚本很简单:

<script type="text/javascript">
  function iOSversion() {
  if (/iP(hone|od|ad)/.test(navigator.platform)) {
      // supports iOS 2.0 and later: <http://bit.ly/TJjs1V>
      var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
      return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
    }
  }

  ver = iOSversion();

  if (ver[0] < 7) {
    alert('iOS 6 or lower');
  }
  else {
    alert('iOS 7');
  }
  </script>

这完美无缺,但当我尝试使用iOS 7时回显元标记没有任何显示,这并不奇怪,因为元标记在Javascript部分之前呈现,因此浏览器不会“看到”元标记。问题很明显,但解决方案对我来说仍然模糊不清。在我看来,将iOS7用户重定向到不同的页面并不是正确的解决方案,但我找不到任何其他解决方案。

你们这些人对这个问题有什么好主意吗?谢谢!

2 个答案:

答案 0 :(得分:0)

为什么不总是从服务器端回显元标记。您不必执行任何用户代理检测,解决方案很简单

答案 1 :(得分:0)

尝试使用带有元标记的smartbanner.js,以在任何iOS和Android平台上显示自定义的智能应用横幅。 iOS 7以下:

<meta name="smartbanner:exclude-user-agent-regex" content=".*(iPhone|iPad|iPod).*OS ([1-6])_.*">