gpt4 book ai didi

javascript - 找到一种方法,使用不同的上下文路径为同一源拥有不同的本地存储对象

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

我需要根据我的上下文路径创建两个本地存储对象。example.com/v1example.com/v2

localstorage.setItem("id", "v1"); // for example.com/v1
localstorage.setItem("id", "v2"); // for example.com/v2

localstorage.getItem("id"); // v2 final out put.

但据我所知,本地存储是基于源的,在这种情况下,源是相同的,即 example.com,并且将会有一个本地存储对象,该对象将结束-书面。其中一些我必须限制。

localstorage.getItem("id"); // v1 for example.com/v1
localstorage.getItem("id"); // v2 for example.com/v2

感谢您提供帮助、意见和建议。

最佳答案

您可以通过文档的当前路径来命名 Storage 项的 keyName
例如,在 example.com/v1 上,keyName 将为 v1,在 example.com/v2 上则为 v1将是v2

在这里我创建了两个函数,它们将根据页面的当前路径设置和获取值。因此,根据您所在的页面,它将仅获取或设置该页面的值。

function storeItemByPath(value, path = location.pathname) {
localStorage.setItem(path, value);
}
function getStoredItemByPath(path = location.pathname) {
return localStorage.getItem(path);
}
storeItemByPath('hello');
let value = getStoredItemByPath(); // Returns 'hello' but only on this page.

希望这对您有所帮助。

关于javascript - 找到一种方法,使用不同的上下文路径为同一源拥有不同的本地存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57697269/

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