我对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用户重定向到不同的页面并不是正确的解决方案,但我找不到任何其他解决方案。
你们这些人对这个问题有什么好主意吗?谢谢!
答案 0 :(得分:0)
为什么不总是从服务器端回显元标记。您不必执行任何用户代理检测,解决方案很简单
答案 1 :(得分:0)
尝试使用带有元标记的smartbanner.js,以在任何iOS和Android平台上显示自定义的智能应用横幅。 iOS 7以下:
<meta name="smartbanner:exclude-user-agent-regex" content=".*(iPhone|iPad|iPod).*OS ([1-6])_.*">