问题标签 [web-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1793 浏览

google-chrome - 将本地 WebSQL/IndexedDB 数据库与“预建”数据库文件同步?

是否有任何计划可以下载(或同步)“预建”数据库文件,可以这么说,与本地 Web 浏览器数据库(如 WebSQL 或 IndexedDB)一起使用?

目前,要添加或更新本地数据库,需要以 XML 或 JSON 等格式导出或存储数据,然后获取、解析和存储数据。

0 投票
1 回答
2018 浏览

javascript - 从 javascript 获取 HTML5 WebDB (Web SQL) 数据库的大小

我正在使用 HTML5 中的 WebDB 规范来创建一个用于持久离线存储的离线数据库。但是,我需要一种从 javascript 获取数据库当前大小的方法。

我唯一能想到的就是遍历数据库中的所有内容,并添加所有对象的大小。唯一的问题是这只适用于原始值,所以这只有在我首先序列化我的所有 javascript 对象(使用 JSON)时才有效,并且看起来像一个 hack。

有没有更好的方法呢?我需要准确的数字。

谢谢你的帮助

0 投票
1 回答
582 浏览

jquery - Jquery Deferred - 这是一个范围吗?句法?

我有一个清除数据库的通用例程:

这个例程是从以下位置调用的:

WebDBBuilder.php是一个文件,它从我们的服务器读取数据并从服务器数据库上的可用数据构建/重建本地 WebDB(尽管有 W3C,该死的。我们早在他们放弃我们之前就开始了)。当轮询服务器的例程标记新数据可用时,将调用此例程。然后我们销毁本地数据库中的某些表——全局变量g_sSQL_dropDB只是一个DROP TABLE IF EXISTS tbl_someTable字符串数组。

transactDB()例程是另一个延迟轴承函数,它执行传递给它的 SQL 语句。正在按要求工作,transactDB()因为正在正确删除相关表格,并且在整个应用程序的其余部分都使用它。该getNextDataSet()函数是更大对象的一部分。它被正确调用。

问题是页面跳转根本不会发生。clearDB()这是函数 中 Deferred 对象的某种范围问题吗?

我缺少的代码中有什么吗?我尝试过使用 done()、resolve()、$.when().then()。纳达。

任何帮助将不胜感激。我在 jQuery 论坛上问了几个问题,基本上没有任何回应,所以我想我在 stackoverflow 上会有更好的运气!

<------------ 已添加 -------------->

感谢您的大力投入。我使用了 Julian 给我的代码,并且(使用 $.map 的小语法切换),它运行良好!

你对函数中的“this”引用是正确的。我之前从课堂上提取了一些代码,只是脑子里放了个屁。var "g_sSQL_dropWorkoutDB" 确实是一个全局变量,它位于一个包含文件中,该文件仅包含用于构造和删除数据库的变量。

朱利安,非常感谢!

斯科特。

0 投票
1 回答
1012 浏览

html - 在 WebSQL 中运行 PRAGMA 命令

有没有办法从 WebSQL 运行 PRAGMA 命令?PRAGMA 在 SQLite 文档中定义,但似乎不适用于 WebSQL。

0 投票
1 回答
523 浏览

javascript - Html5 WebSql 事务在警报中表现异常

当我在代码中放置一些警报时,WebSql 的事务表现得很奇怪。我有三笔交易要做。它们是 t1、t2 和 t3。

以下代码按预期工作得很好。

但是,当我在进行交易之前插入警报语句时。事情没有按预期工作。

例如。如果我发出警报('在事务 t3 之前发出警报');

更改后的代码如下所示:

更改后的行为变化:前两个事务没有发生。

这是预期的行为。如果是,那么它是如何证明的?

0 投票
2 回答
530 浏览

database - 将未加密的密码安全地存储到 HTML5 客户端数据库中?

我假设答案是将密码存储在客户端的 WEBSQL 数据库中,未加密是不安全的,但我想我还是会问,我问的原因是我想添加一个 Dropbox 上传工具到web 应用程序,但我需要纯文本密码才能访问用户的保管箱帐户,我当然可以想出一些 foobar 方法来散列密码客户端,并在需要时取消散列,但如果我能够取消散列他们,任何人都可以这样做,如果是这种情况,是否有人可以解决?

0 投票
3 回答
5854 浏览

html - web sql 数据库外键支持

我正在 Safari 5.0.5 中测试此语句,但在 FOREIGN 之前出现错误:

我收到以下错误消息:

这个 SQL 语句的错误在哪里?

0 投票
1 回答
1021 浏览

sqlite - 如何从 JavaScript 压缩 WebSQL 数据库

我使用 HTML5 + WebSQL 开发了一个应用程序,它将数据从本地数据库同步到服务器。

删除数据时,sqlite 数据库文件的大小保持不变。我知道这包含空白空间,并且在插入新数据时会被填充,但由于限制,我希望尽可能小。

我知道 sqlite 中的 VACUUM 命令可以压缩数据库并删除未使用的空间,但是当我尝试从 JavaScript 在 WebSQL 数据库上运行它时,它会失败并显示错误“逻辑错误或缺少数据库”。从浏览器外部运行命令可以正常工作。

我的问题是:

  1. 可以从 JavaScript 以某种方式执行 VACUUM 命令吗?

  2. 浏览器是否会自动实现这一点,最终会被调用吗?(找不到任何关于此的文档)

谢谢你的帮助。

0 投票
1 回答
1564 浏览

html - HTML5 客户端存储:WebSqlDatabase 与 WebStorage 与索引数据库

我对 HTML5 中客户端存储的能力有一些疑问。到目前为止,我发现有三种不同的可能性:

  • WebSQLDatabase:支持存储在 SQLite 数据库中的客户端站点 SQL 表。本标准废止。这是否意味着当前支持此功能的浏览器将来会放弃此支持?

  • WebStorage和 IndexedDB 似乎与我非常相似。它们都提供键/值存储功能。区别在哪里?

0 投票
1 回答
584 浏览

iphone - 什么可以提高 iOS 设备上 WebSQL 的性能?

我有在 Android 和 iOS 上运行的 PhoneGap 应用程序,它使用的是 WebSQL。一张表有 10 列和大约 350 行。当我运行简单查询时:

现在这在 Android 上运行得非常好 - 执行大约需要 2-3 秒。但在 iOS 设备上 - 例如 iPhone 3G - 大约需要 30 秒,而且速度慢得让人无法接受。

有什么办法可以让它在 iOS 上运行得更快?或者还有什么其他方法可以完成这个功能?