gpt4 book ai didi

javascript - 一旦 session 存储!=未定义,如何运行函数

转载 作者:行者123 更新时间:2023-11-28 17:54:10 24 4
gpt4 key购买 nike

我现在的情况是,我有一个外部 JavaScript 文件,它可以进行 ajax 调用并将某些数据保存到 session 存储中。 JavaScript 文件从外部站点加载,因此我无法编辑它。

我需要运行一个函数来在保存的数据加载到 session 存储中后立即使用它。加载此数据后如何触发函数?

最佳答案

也许这可以帮助你:

window.onstorage = function(e) {
console.log('The ' + e.key + ' key has been changed from ' + e.oldValue + ' to ' + e.newValue + '.');
};

更多信息herehere

因此您可以通过以下方式订阅 session key 更改(未测试):

window.onstorage = function(e) {
if (
e.storageArea === sessionStorage &&
e.key === "<your_key>" &&
e.oldValue === undefined &&
e.newValue !== undefined
) {
console.log("my key is not undefined anymore")
}
};

更新:看来它不适合你。然后你可以尝试这样的事情(使用间隔检查 sessionStorage 是否发生变化):

var INTERVAL = 2000;
// Then, in your code you can check every `INTERVAL` milleconds
// if the sessionKey you need is not null
console.log("Program starts");
// You can limit your intents too
var limit = 5;
var intervalId = setInterval(function() {
console.log("Checking sessionStorage");
var test = sessionStorage.getItem("test");
if (test !== null) {
console.log("'test' is now defined: " + test);
clearInterval(intervalId);
}

if (--limit <= 0) {
console.log("'test' has not changed");
clearInterval(intervalId);
}
}, INTERVAL);

在这里测试:https://jsbin.com/tukubutoje/edit?js,console

关于javascript - 一旦 session 存储!=未定义,如何运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44830339/

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