目录
1. 1简介
2. 2一致性要求
1. 2.1依存关系
3. 3术语
4. 4,API
1. 4.1数据库
2. 4.2分析和处理SQL语句
3. 4.3异步数据库API
1. 4.3.1执行SQL语句
2. 4.3.2处理模型
4. 4.4同步数据库API
1. 4.4.1执行SQL语句
5. 4.5数据库查询结果
6. 4.6错误和异常
5. 5的Web SQL
6. 6磁盘空间
7. 7隐私
1. 7.1用户跟踪
2. 7.2灵敏度数据
8. 8安全
1. 8.1 DNS欺骗攻击
2. 8.2跨目录攻击
3. 8.3实施风险
4. 8.4 SQL和用户代理
5. 8.5 SQL注入
9. 参考文献
1简介
这部分是不规范的。
本规范引入了一组API来处理客户端的数据库采用SQL
API是异步的,所以作者有可能到非常有用的,在使用此API匿名函数(lambda表达式)。
下面是一个例子使用这个API的脚本。首先,的一个函数 prepareDatabase()被定义。此
函数返回一个句柄到数据库中,第一次创建数据库,如果有必要。然后,该示例调用函数做实际的工作,在这种情况下showDocCount() 
准备好了,:功能prepareDatabase(错误){
  返回的OpenDatabase'文件''1 .0'离线文档存储5 * 1024 * 1024,功能(DB{
    db.changeVersion'''1 .0',函数(T{
      t.executeSqlCREATE TABLE docidsID,名称);
    ,错误);
  };
}
功能showDocCount(分贝,跨度){
  db.readTransaction((T{
    t.executeSql“SELECT COUNT*AS Cdocids”[],功能(TR{
      Content = r.rows [0]C;
sqltransaction什么意思    ,函数(TE{
      / /无法读取数据库
      Content ='(未知的:'+ e.message +'';
    };
  };
}
prepareDatabase(功能(DB{
  / /得到数据库
  跨度=ElementById'文件数';
  showDocCount(分贝,跨度);
},功能(E
  / /错误获取数据库
  警报(e.message;
};
的ExecuteSQL()方法有一个参数,允许变量代入报表,而不用担心SQL注入漏洞:
db.readTransaction((T{
  t.executeSql“SELECT FROM文档标题,作者WHERE ID =[ID],函数(T,数据){
    报告(ws [0]。标题,ws [0]。作者);
  };
};
有时,可能会对有任意数量的变量来代替英寸,即使在这些情况下,正确的解决方案是构造查询只使用” 字符,然后作为第二个参数传递的变量:
功能findDocsDBresultCallback
  Q =“”;
  对于每个(VAR我的标签)
    Q + =Q ==“”+”“;
  db.readTransaction((T{
    t.executeSql“SELECT ID FROM文档标签IN'+ Q +''的标签,功能(T,数据){
      resultCallback(数据);
    };
  };
}
2一致性要求
在本说明书中的所有图表,例子和注意事项,非规范性,是所有部分明确标明不规范。在本规范中的一切是标准化的。
中的关键字“MUST”“MUST NOT”“REQUIRED” “ 应该不应该推荐“MAY”,和“OPTIONAL”在本文档的规范性的描述进行解释在RFC2119。为了提高可读性,这些话不会出现在本规范中的所有大写字母[RFC2119]
措辞必须的算法(如带任何前导空格字符返回false,中止了这些步骤)的要求来解释的含义的关键词(必须应该可能等)中介绍的算法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。