问题标签 [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.
google-chrome - 将本地 WebSQL/IndexedDB 数据库与“预建”数据库文件同步?
是否有任何计划可以下载(或同步)“预建”数据库文件,可以这么说,与本地 Web 浏览器数据库(如 WebSQL 或 IndexedDB)一起使用?
目前,要添加或更新本地数据库,需要以 XML 或 JSON 等格式导出或存储数据,然后获取、解析和存储数据。
javascript - 从 javascript 获取 HTML5 WebDB (Web SQL) 数据库的大小
我正在使用 HTML5 中的 WebDB 规范来创建一个用于持久离线存储的离线数据库。但是,我需要一种从 javascript 获取数据库当前大小的方法。
我唯一能想到的就是遍历数据库中的所有内容,并添加所有对象的大小。唯一的问题是这只适用于原始值,所以这只有在我首先序列化我的所有 javascript 对象(使用 JSON)时才有效,并且看起来像一个 hack。
有没有更好的方法呢?我需要准确的数字。
谢谢你的帮助
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" 确实是一个全局变量,它位于一个包含文件中,该文件仅包含用于构造和删除数据库的变量。
朱利安,非常感谢!
斯科特。
html - 在 WebSQL 中运行 PRAGMA 命令
有没有办法从 WebSQL 运行 PRAGMA 命令?PRAGMA 在 SQLite 文档中定义,但似乎不适用于 WebSQL。
javascript - Html5 WebSql 事务在警报中表现异常
当我在代码中放置一些警报时,WebSql 的事务表现得很奇怪。我有三笔交易要做。它们是 t1、t2 和 t3。
以下代码按预期工作得很好。
但是,当我在进行交易之前插入警报语句时。事情没有按预期工作。
例如。如果我发出警报('在事务 t3 之前发出警报');
更改后的代码如下所示:
更改后的行为变化:前两个事务没有发生。
这是预期的行为。如果是,那么它是如何证明的?
database - 将未加密的密码安全地存储到 HTML5 客户端数据库中?
我假设答案是将密码存储在客户端的 WEBSQL 数据库中,未加密是不安全的,但我想我还是会问,我问的原因是我想添加一个 Dropbox 上传工具到web 应用程序,但我需要纯文本密码才能访问用户的保管箱帐户,我当然可以想出一些 foobar 方法来散列密码客户端,并在需要时取消散列,但如果我能够取消散列他们,任何人都可以这样做,如果是这种情况,是否有人可以解决?
html - web sql 数据库外键支持
我正在 Safari 5.0.5 中测试此语句,但在 FOREIGN 之前出现错误:
我收到以下错误消息:
这个 SQL 语句的错误在哪里?
sqlite - 如何从 JavaScript 压缩 WebSQL 数据库
我使用 HTML5 + WebSQL 开发了一个应用程序,它将数据从本地数据库同步到服务器。
删除数据时,sqlite 数据库文件的大小保持不变。我知道这包含空白空间,并且在插入新数据时会被填充,但由于限制,我希望尽可能小。
我知道 sqlite 中的 VACUUM 命令可以压缩数据库并删除未使用的空间,但是当我尝试从 JavaScript 在 WebSQL 数据库上运行它时,它会失败并显示错误“逻辑错误或缺少数据库”。从浏览器外部运行命令可以正常工作。
我的问题是:
可以从 JavaScript 以某种方式执行 VACUUM 命令吗?
浏览器是否会自动实现这一点,最终会被调用吗?(找不到任何关于此的文档)
谢谢你的帮助。
html - HTML5 客户端存储:WebSqlDatabase 与 WebStorage 与索引数据库
我对 HTML5 中客户端存储的能力有一些疑问。到目前为止,我发现有三种不同的可能性:
WebSQLDatabase:支持存储在 SQLite 数据库中的客户端站点 SQL 表。本标准废止。这是否意味着当前支持此功能的浏览器将来会放弃此支持?
WebStorage和 IndexedDB 似乎与我非常相似。它们都提供键/值存储功能。区别在哪里?
iphone - 什么可以提高 iOS 设备上 WebSQL 的性能?
我有在 Android 和 iOS 上运行的 PhoneGap 应用程序,它使用的是 WebSQL。一张表有 10 列和大约 350 行。当我运行简单查询时:
现在这在 Android 上运行得非常好 - 执行大约需要 2-3 秒。但在 iOS 设备上 - 例如 iPhone 3G - 大约需要 30 秒,而且速度慢得让人无法接受。
有什么办法可以让它在 iOS 上运行得更快?或者还有什么其他方法可以完成这个功能?