gpt4 book ai didi

javascript - Chrome 中的 WebSQL 和 localStorage 范围

转载 作者:行者123 更新时间:2023-11-28 10:16:22 26 4
gpt4 key购买 nike

编辑:下面的代码实际上可以正确工作。 Chrome 开发人员工具 UI 在页面加载后根本不显示本地和 webSQL 存储中的值,尽管它们可用于我的脚本。

我的登录页面使用 WebSQL/localStorage 在本地保存一些身份验证数据,然后我重定向到一个登录页面,该本地数据会立即消失。我不确定为什么数据在页面加载时不会持续存在(所有页面都位于同一域/协议(protocol)/端口上)。我正在 Ubuntu 上的 Chrome 12.0.742.100 中进行测试。这是我的代码,有什么想法吗?

var db = window.openDatabase("session", "1.0", "session", 1000000);
db.transaction(function(tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS auth (uuid UNIQUE TEXT, token TEXT)');
});
db.transaction(function(tx){
tx.executeSql('INSERT INTO auth (uuid, token) values (?, ?)',[json.uuid,json.token]);
});
localStorage.setItem("uuid",json.uuid);
localStorage.setItem("token",json.token);

// REDIRECT TO HOMEPAGE
window.location = 'droid.html';

//... the next page has an alert() that tries to access the local values.

最佳答案

可能是您存在范围界定问题,或者实际上并未设置这些值。

以下是我建议尝试的一些事情(按顺序):

  1. 通过在同一页面上立即检索数据来证明数据实际上已设置在 localStorage 中;
  2. 通过在超时(例如 2 秒)后在同一页面上检索数据来证明数据持续存在(至少持续一段时间);
  3. 尝试使用 window.location.assign(),而不是设置 window.location
  4. 不要立即更改窗口位置,而是在短暂的超时(例如 100 毫秒)后或在页面加载后(如果页面尚未完成加载)进行更改。

希望这有帮助!

关于javascript - Chrome 中的 WebSQL 和 localStorage 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526714/

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