在访问网站上 X 个页面后执行此操作
有没有一种简单的方法可以跟踪您网站上的用户使用 Javascript(最好是 jQuery)访问了多少页面?
我需要在用户访问网站上超过 5 个页面后执行一个函数。
我正在考虑将 window.location.href 存储到一个变量中并检查它以查看它是否与下一页匹配。如果没有,我会将其注册为一页更改等。这在理论上听起来对我来说是合理的,但如果我走错了路,请指导我。
Is there an easy way to track how many pages a user on your site has visited with Javascript (preferably jQuery)?
I need to execute a function after a user has visited more than 5 pages on the site.
I was thinking of storing the window.location.href into a variable and checking it to see if it matches the next page. If it doesn't I would register it as one page change and so on. This sounds theoretically sound to me but please do direct me if I'm on the wrong path.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
$(document).ready(
function(){
if ($.cookie('userViews')) {
var views = parseInt($.cookie('userViews')) + 1;
}
else {
var views = 1;
}
$.cookie('userViews',views,{expires:30});
if (views > 5) {
// do whatever you want to do after 5 views.
}
}
);
仅当使用 jQuery cookies 插件时,上述代码才有效。
值得指出的是 - 也许明显 - 任何基于 JavaScript 的解决方案都容易受到用户干扰、脚本可以更改、cookie 被操纵等等。如果您要求这是至少相对安全的解决方案1,那么服务器端解决方案(使用您喜欢的任何服务器端脚本语言)可能是更好的选择方法。
- 显然,基于服务器的观看次数解决方案也很容易被利用,特别是因为F5非常容易获得。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
jQuery 没有本机 cookie 功能。
虽然我完全同意这应该在服务器端完成,并且我自己永远不会这样做...您可以完全使用普通的 Javascript 来完成此操作。
我已经整理了一个适合您目的的函数。仅当他们访问了 6 个页面,其中每个页面都与前一个页面不同时,它才会返回 true。
我没有专门对此进行测试...如果您有任何问题,请告诉我。
jQuery does not have native cookie functions.
While I completely agree this should be done server-side and would never do this myself... You can do this entirely with plain-old Javascript.
I've put together a function that should suit your purposes. It returns true only if they've visited 6 pages where each page was different than the immediately preceding page.
I didn't specifically test this... let me know if you have any issues.