【问题标题】:access web sql database between 2 html5 pages在 2 个 html5 页面之间访问 web sql 数据库
【发布时间】:2013-01-02 07:44:07
【问题描述】:

我是html5和js的新手,如果这是一个非常简单的问题,请原谅我的无知。 但是有人可以帮我为我的情况找到解决方案吗:

我已经创建了一些静态 html5 页面,并且还从我的 js 代码创建了一个离线数据库,该数据库可以跨所有 html5 页面访问。 现在我正在尝试从一页更新数据库,并希望 在所有 html5 页面中更新数据库反射

提前致谢。

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    正如您所说,它是离线数据库,将值存储在某个全局变量中,然后再将其存储到数据库中。在所有其他页面中,依赖于该全局变量。因此,如果您在 page1 中更新了一些数据,也将其存储在某个全局变量中。并在所有其他页面中使用该变量。

    【讨论】:

    • 对于离线数据库,我的意思是我没有服务器通信,我已经将静态虚拟值插入到数据库表的字段中。现在当我更新表中的值时,更新的数据库表应该反映在所有其他正在访问它的页面上。
    【解决方案2】:

    要从多个不同页面访问离线数据库,请确保您的所有页面都在同一个域中。

    在所有页面上创建与数据库的全新连接

    var db_conn = window.openDatabase( _ID_DATABASE_NAME, _ID_DATABASE_VERSION, _ID_DATABASE_DESC, _ID_DATABASE_SIZE );
    

    所有传递给函数的参数应该保持不变。

    如果您尝试访问的值只是几个名称值对,请尝试使用本地存储的概念。以下是可跨页面访问的 setter getter 方法。

    window.localStorage.setItem( 'myFirstLocalStorage_Name', 'myFirstLocalStorage_Value' );
    var ls_value = window.localStorage.getItem( 'myFirstLocalStorage_Name' );
    

    希望您能够跨页面获取您的价值观。

    【讨论】:

      【解决方案3】:

      两个页面的域必须相同。

      w3c 说

      用户代理可能会将对数据库对象的访问限制为脚本 起源于浏览的顶级文档的域 上下文,例如拒绝访问来自其他页面的 API 在 iframe 中运行的域。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-09
        • 2017-12-12
        • 2017-11-11
        • 1970-01-01
        • 2016-03-31
        • 1970-01-01
        相关资源
        最近更新 更多