gpt4 book ai didi

Javascript - 缓存和 cookie 问题

转载 作者:行者123 更新时间:2023-12-02 16:16:26 25 4
gpt4 key购买 nike

我在缓存页面上的 JavaScript 和 Cookie 方面遇到了相当令人沮丧的问题。

我得到了以下 JS 代码:

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
if (!getCookie("lang") == "{{Lang}}"){
document.reload();
}

{{Lang}} 在 PHP 后端被替换为完全相同的 cookie。

$template = str_replace("{{Lang}}", $lang, $template);

但这并不真正相关,因为该部分按预期工作。

问题在于当用户访问缓存页面时。

前面提到的JS就变成了

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
if (!getCookie("lang") == "FR"){
document.reload();
}

问题是,即使 Chrome 开发工具非常清楚地表明 cookie lang 设置为“EN”,而不是“FR”,页面也不会刷新。

有办法解决这个缓存问题吗?

最佳答案

JS中的不相等比较是!=,所以

getCookie("lang") != "FR"

关于Javascript - 缓存和 cookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com