gpt4 book ai didi

javascript - 如何阻止 Iframe 在 setInterval (JQuery) 之后不断重新加载

转载 作者:行者123 更新时间:2023-12-03 01:06:36 24 4
gpt4 key购买 nike

只是一个js新手

如何防止页面在设置间隔后不断重新加载?

基本上,它需要检查外部 JSON 文件的值是否为 0/1,并显示和隐藏 Iframe src(它需要每 5 秒检查一次文件是否有更改),仅在值更改时重新加载。

有没有办法在本地记录该值或缓存它?

function ScreenSwitch(){
$.getJSON(screenNumberUrl, (data) => {
if(data.ScreenState == 0){
$("#os-iframe").attr("src", "about:blank");
} else {
$("#os-iframe").attr("src", "OverallStandings.html");
}
});
}
ScreenSwitch();
setInterval(ScreenSwitch, 5000);

最佳答案

您需要更改逻辑来存储先前检索到的值。然后您将知道下一个请求时值是否发生变化,以便更新 iframesrc。尝试这个:

function ScreenSwitch() {
$.getJSON(screenNumberUrl, (data) => {
if (previousScreenState != data.ScreenState) {
$("#os-iframe").attr("src", data.ScreenState == 0 ? 'about:blank' : 'OverallStandings.html');
}
previousScreenState = data.ScreenState;
});
}

var previousScreenState;
ScreenSwitch();
setInterval(ScreenSwitch, 5000);

上述逻辑假设 data.ScreenState 在运行时可以在 01 之间动态变化多次。如果它只能改变一次,那么这还可以变得更简单。

关于javascript - 如何阻止 Iframe 在 setInterval (JQuery) 之后不断重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52370464/

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