1
1
如果你得到的是旧的cookies,那可能是因为你的页面包含了很多内容,onload在onunload之前没有调用(因为页面没有完成加载)。因此,通过从onload和onunload调用类似的命令删除cookie:
如果加载下一页的速度足够快,以至于“delete_cookie”cookie未正确过期,并且get_cookie实现正在获取该cookie,则还可能存在竞赛条件。因此,请尝试将get_cookie中的正则表达式更改为仅拾取具有以下值的cookie:
此外,如果您在多个窗口(或选项卡)中查看网站,他们的cookie可能会混淆,所以不要这样做。但是尝试使用全局正则表达式来获取所有值,并且只使用最新的值。 |
2
1
响应对方的建议,在服务器端做一些工作-我以前做过: 1)在服务器端捕获请求时间,并在页面中包含带有时间变量的脚本标记:
2)在页面的末尾,用javascript获取一个新时间并计算总时间。 |
3
0
您的set_cookie、get_cookie和delete_cookie代码似乎正确。还有你的用法。 我认为你应该把它移到你的Java代码中——对我来说,这似乎比通过cookies破解这个更容易。 |
4
0
在这两个方面我都同意amix的观点:乍看之下,您的代码看起来还不错,服务器端的一些东西可能会更好地处理这一点。 不管怎样,我猜,你现在遇到的问题很可能不是你想象的那样。有两种方法可以清除正在发生的事情,一种是使事件在视觉上明显地触发,另一种是增加输出的详细程度。任何数量的东西都可能干扰实际触发的事件:插件、插件、按键等等。如果在onload和onunload事件触发时打开一个新窗口(或警报,或其他什么),您将能够确定正在调用这些函数。同样,如果您在cookies中存储更多的数据,比如原始url等,您将能够更好地了解哪些页面正在生成额外的cookies。 我猜你的一个firefox扩展间歇性地干扰onunload事件。 |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |