gpt4 book ai didi

所有页面上的 Javascript 全局数组为空

转载 作者:行者123 更新时间:2023-11-30 13:59:02 25 4
gpt4 key购买 nike

在我网站的一个页面上,创建了计时器。我需要能够访问其他页面上的那些计时器以查看剩余时间。但是我无法让全局数组正常工作。

如果 all_timers 数组为空,我会在网站头部创建它。然后在我的计时器函数中,我将计时器的 id 推送到该数组上。但是当我重新加载页面时,数组总是空的。

运行计时器页面时,控制台显示“已推送”。但是每当页面更新时,它都会显示“新建”。

我对窗口的使用感到困惑。有些帖子说要使用它,有些则没有提到它,有些则表明它用于变量的所有实例,而不仅仅是在创建时。 Sp 我是否错误地创建了全局?我只是在这里展示基本用法,尽管我尝试了很多变体。有人可以指出我所缺少的吗?请注意,这是精简代码。定时器函数确实会被调用。

    <head>

<script>
if (typeof all_timers !== 'undefined' && all_timers.length > 0) {
console.log('found '+all_timers.length);
for (var i = 0; i < all_timers.length; i++) {
console.log('main timer '+all_timers[i]);
}
} else {
console.log('create new');
window.all_timers = new Array();
}
</script>

</head>
<body>


<script>
function createfunc(idx) {
if ($("#time-left-"+idx).length === 0) {
clearInterval(timerID[idx]);
} else {
timerID[idx] = setInterval(function() {
if (show_timer > 0) {
all_timers.push('some thing'+idx);
console.log('pushed');
} else {
clearInterval(timerID[idx]);
}
}, 1000);
}
}
</script>
</body>

最佳答案

您需要使用 local storage 保存全局时间戳或将时间戳作为 URL parameter 传递.

无论您使用本地存储还是 url 参数,您都只能在页面之间传递一个字符串。

关于所有页面上的 Javascript 全局数组为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56708215/

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