我有一个特定的场景。我有一个立即的功能,在加载的每个页面上执行。
(function () {
if (readcookie(login)) { //i need to make it execute only once
document.head.appendChild(iframe);
} else {
//nothing
}
}());
是否可以只执行一次if语句,我无法修改登录cookie。此外,我不想使用全局变量或新的cookie。
答案 0 :(得分:1)
您可以使用sessionStorage
来记住您的代码是否已在之前的页面加载中执行:
(function () {
// Check that your custom storage variable is not set.
if (!sessionStorage.frameAppended) {
// If this is the first time the code is executed,
// create a boolean variable in the storage.
sessionStorage.frameAppended = true;
// Add the code that needs to be executed only once below this point.
if (readcookie(login)) {
document.head.appendChild(iframe);
}
}
}());
如果您希望永久存储自定义数据(而不是按浏览器会话),则可以使用localStorage
代替。