我在网站上有很多食谱,它们位于食谱目录中,例如:
./recipes/muffin
./recipes/cake
./recipes/bread
我已经有了一些计算会话的代码。当用户打开包含第三个配方的页面时,如何触发?我也需要在这个动作中打开弹出窗口。
// Open it once per session, after some time, show overlay & disable scroll in desktop & mobile devices
if (!sessionStorage.alreadyClicked) {
setTimeout(function () {
$('.newsletter_popup').show();
}, 1000);
sessionStorage.alreadyClicked = 1;
}
答案 0 :(得分:3)
在访问过的每个食谱页面上,您都可以增加一个计数器:
sessionStorage.recipesViewed = (sessionStorage.recipesViewed || 0) + 1;
然后您可以检查该值以查看这是否是此会话中查看的第三个配方:
if (!sessionStorage.alreadyClicked || sessionStorage.recipesViewed == 3) {
setTimeout(function () {
$('.newsletter_popup').show();
}, 1000);
sessionStorage.alreadyClicked = 1;
}
如果您需要单独计算每个配方(以便刷新同一页面三次不会使弹出窗口出现),您需要通过将页面的URL与视图计数器一起存储来使逻辑更复杂一些并保持一个独特的总数。