本地存储和Web SQL不能跨多个页面工作

时间:2013-02-09 23:14:23

标签: javascript local-storage web-sql

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

我已经尝试了html5 localstorage和现在的webSQL,并且发现我可以在虚拟时保存和读取数据(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>

这是击中保存的结果; enter image description here

但是当我搬到dummy2时: enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

它的某些奇怪的系统甚至chrome安装损坏资源选项卡。当我查看它时,你的代码工作正常,localStorage下的我的资源选项卡立即更新,并且在重新加载时仍然存在,但是我记得有一次我的资源选项卡没有工作,我有类似的问题,它没有工作刷新,我必须只使用控制台才能看到正确的结果。

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