2

一开始我有两个页面(在同一个文件夹中,在同一个域中),我们称它们为 dummy 和 dummy2。

我已经尝试了 html5 localstorage 和现在的 webSQL,我发现我可以在 dummy 上保存和读取数据(dummy 是具有保存和读取按钮的页面,而 dummy2 只有一个读取按钮),但是当我从 dummy 切换时到 dummy2 本地存储和 Web SQL 消失。

据我了解,这两种技术都应该保存要在您网站上的多个页面上使用的数据?

这是我的 webSQL 代码,其中本地存储被注释掉了

<script>
    $(document).ready(function () {
        $("#save").click(function() {
            //localStorage.setItem('dummy', 'Hello there');
            //console.log(localStorage.getItem('dummy'));
            var db = window.openDatabase("UserDetails", "1.0", "User Details", 10000);
            db.transaction(populateDB, onDBError, onDBSuccess);
            function populateDB(tx) {
                tx.executeSql('DROP TABLE IF EXISTS DETAILS');
                tx.executeSql('CREATE TABLE IF NOT EXISTS DETAILS (id unique, Name, Email)');
                tx.executeSql('INSERT INTO DETAILS (id, Name, Email) VALUES (1, "User1", "example@example.com")');
            }
            function onDBError(error) {
                console.log("Error");
            }
            function onDBSuccess(msg) {
                console.log("Success (Saved)");
            }
        });
        $("#read").click(function() {
            tx.executeSql('SELECT * FROM DETAILS ORDER BY Name', [], onQuerySuccess, onDBError);
            function onQuerySuccess(tx, results){
                var name = results.row.item(i).Name;
                console.log(name);
            }

        });
    });
</script>

这是点击保存的结果; 在此处输入图像描述

但是当我搬到 dummy2 时: 在此处输入图像描述

有任何想法吗?

4

1 回答 1

0

它是某种奇怪的系统,甚至是关于资源选项卡的 chrome 安装损坏。当我查看它时,您的代码工作正常,并且 localStorage 下的资源选项卡会立即更新并在重新加载时持续存在,尽管我记得有一次资源选项卡对我来说不起作用,并且我遇到了类似的问题,即它无法在刷新时工作,而我必须使用控制台才能看到正确的结果。

如果它在 chrome 控制台中对您有用,或者通过以其他方式以编程方式查询 localStorage 对象,那么它在那些 Web 检查器 UI 中所说的内容并不重要,它仍然可以工作并且您的代码很好。

于 2013-02-10T00:54:56.787 回答