【问题标题】:iOS Smart Banner only in iOS7iOS 智能横幅仅适用于 iOS7
【发布时间】:2013-11-18 20:21:07
【问题描述】:

我在使用 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 用户重定向到不同的页面不是正确的解决方案,但我找不到任何其他解决方案。

你们中有人对这个问题有一个绝妙的主意吗?谢谢!

【问题讨论】:

  • 检测版本服务器端并以这种方式传递标签?

标签: javascript ios banner


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多