直至正文
豫言包府
← 众包

豫言操作系统网页储存 0.1.0

豫言 · 库

读写当前网页来源的会话储存与本地储存中的键值文字,写入失败以返回值表示。

网页储存之约 0.1.0

此包令浏览器中豫言之客读写当前网页来源(协议、主机、端口)下之键值文,用于未发之稿、界面之好、展开之态等仅须存于本机之小数。乃浏览器 sessionStorage 与 localStorage 之至简公共子集:惟读、写、删三术;写败乃可复之情,以返值示之,不发事故。客依此包,诸术皆当具。

区

区参数惟受二定值:

| 区 | 所应 | 寿 | | --- | --- | --- | | 会话 | sessionStorage | 当前标签页(含刷新);标签页闭则除 | | 本地 | localStorage | 久存,同来源诸标签页共之 |

区名非此二者则发事故。

诸术

读取网页储存:字符串(区)、字符串(键),返(爻、字符串)

键在则返(阳,值);键无,或浏览器禁用储存(隐私模式、为人或策略所封)则返(阴,空文)。欲辨“无键”与“值为空文”,观首项:值为空文则(阳,空文)。

写入网页储存:字符串(区)、字符串(键)、字符串(值),返爻

成则返阳。配额满、储存被禁、隐私模式零配额等运行时之败返阴,且不改旧内容;客当告用户(如“草稿未能保留”)。区名无效、键空或过长、值逾限,乃违约之调用,发事故。

删除网页储存:字符串(区)、字符串(键),返有

去其键;键无或储存不可用则无事。

键与值

  • 键原样而用,宿主不加前缀。同来源诸客共一键空间,客自以带项目名之键(如 yy-cloud-draft:账户:项目:ai)避冲突;由旧 JS 前端迁来之既有键值亦因而仍效。
  • 键至多五百一十二 UTF-16 码元,不得为空;值至多一百零四万八千五百七十六码元,可为空文。
  • 值乃任意豫言字符串(含癸象文)。

与网页事件之涉

此包不生事。他标签页改同一 localStorage 所致之 storage 事,此版不供;客欲跨页相同步,当自轮询,或待后续之广播包。

败之类

| 情 | 表 | | --- | --- | | 区名无效;键空或逾五百一十二码元;值逾限 | 发豫言事故(违约之调用,中文辞) | | 配额满、储存被禁或发安全之错 | 写返阴;读返(阴,空文);删无事 | | 宿主已闭 | 发事故 |

一致性之例

  1. 写入网页储存(本地,偏好,云端)返阳;读取(本地,偏好)返(阳,“云端”);删除后再读返(阴,“”)。
  2. 会话与本地不相通:会话所写之键,于本地读不到。
  3. 读取网页储存(“临时”,“键”):发事故(区无效)。
  4. 值恰一百零四万八千五百七十六码元则写成(或因配额返阴);多一码元则发事故。
  5. 浏览器写发 QuotaExceededError 时,写入网页储存返阴,旧键值不变。

界

此包不定:键之枚举与清空、storage 跨页事、IndexedDB、Cache API、二进制值、加密之储、同步以外之久存保证。口令、令牌等秘数不宜置于此二储。

所赖

观包之制

上传之记

今修订:1 ·

  1. 修订 1
    取 ZIP

包之层级

父:豫言操作系统接口

无子包。