【发布时间】:2014-09-13 17:16:47
【问题描述】:
我们的客户要求我们为我们的移动网站添加适用于 iOS 和 Android 的智能横幅。我们已经实现了所需的元标记:
<meta name="apple-itunes-app" content="app-id=ourAppID">
<meta name="google-play-app" content="app-id=ourAppID">
这行得通。 (我们在 Android 上使用 jquery.smartbanner plugin。)他们现在修改了要求;他们希望横幅仅显示在网站的主页上,并且仅在用户在会话中第一次点击主页时显示。
<?php
if (empty($_SESSION['showSmartBanner']) && $_SERVER['REQUEST_URI'] === '/' ): ?>
<meta name="apple-itunes-app" content="app-id=ourAppID">
<meta name="google-play-app" content="app-id=ourAppID">
<?php
$_SESSION['showSmartBanner'] = false;
endif;
?>
获取首页部分;它只显示在那里。但它似乎忽略了对会话变量的检查。我错误地记录了一些东西,即使设置了会话变量(表明横幅不应该显示),横幅仍然显示。
我能想到的唯一原因是元标记正在被缓存。有什么方法可以精细控制元标记的缓存吗?我不想使用任何 http-equiv 元标记,因为据我所知,这会影响整个网站,而不仅仅是单个标记。
如果有人能想到另一个不起作用的原因,我会全力以赴。我盯着这个看太久了,可能遗漏了一些明显的东西。
【问题讨论】:
标签: php android jquery caching meta-tags