豫豫言文档API ATLAS
入口浏览器宿主。包。豫
88 模块1256 名称
全部模块

豫言 / 浏览器宿主 @ 0.1.0

浏览器宿主能力的豫言封装。

说明.汉语.md

# 浏览器宿主库

`广播频道。豫` 提供 BroadcastChannel 的创建、名称、结构化值和字节发送、事件读取及关闭。宿主把 `message`、`messageerror` 送入豫言事件队列,豫言决定收到消息后的逻辑。真实 Chrome 已验页面内两个豫言频道双向通信、`00 FF 41` 字节传递,以及页面和 Dedicated Worker 各运行豫言 Wasm 的跨上下文通信。复杂结构化克隆、跨标签页和 `messageerror` 仍待验,详 `广播频道接口.清单.tsv` 与 [HTML 广播频道规范](https://html.spec.whatwg.org/multipage/web-messaging.html#broadcasting-to-other-browsing-contexts)。

`空闲回调。豫` 把 Window 的 `requestIdleCallback`、`cancelIdleCallback` 接入豫言事件队列。豫言可选择无期限或带 `timeout` 毫秒的请求;宿主在原生回调内立即读取 `IdleDeadline.didTimeout` 和 `timeRemaining()`,投递 `{名称:"空闲",空闲号,标记,已超时,剩余毫秒}`。真实 Chrome 已验两种请求和取消。空闲时刻由浏览器决定,限时请求可能在期限前触发;Safari 缺少原生接口时会明确报错。详 `定时接口.清单.tsv` 与 [W3C 后台任务规范](https://w3c.github.io/requestidlecallback/)。

`动画帧。豫` 把 Window 和有页面所有者的 Dedicated Worker 的 `requestAnimationFrame`、`cancelAnimationFrame` 接入统一豫言事件队列。宿主只投递帧号、豫言标记和原生时间戳,豫言决定绘制与下一帧请求;宿主结束时取消剩余请求。真实 Chrome 已分别验证页面与 Worker 的申请、取消和事件送达;Worker 内的豫言 Wasm 也验了一次定时器取消、两次周期事件及另一次性事件。详 `定时接口.清单.tsv` 与 [HTML 动画帧标准](https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames)。

`工作线程。豫` 现支持从豫言创建 module 或 classic Worker,发送 JSON 兼容值与转移列表,并终止 Worker。宿主在构造时立即安装 `message`、`messageerror`、`error` 监听,把消息送入统一事件队列;因此 Worker 立刻发送的 ready 消息也不会在豫言订阅前丢失。相对网址以应用构建目录解析。`工作线程自动启动.mjs` 是构建器固定复制的外壳,可在 Dedicated Worker 内加载另一份豫言 Wasm;该豫言程序用自身句柄订阅主线程消息,用 `浏览器工作线程向主线程发值` 回信。真实 Chrome 已验页面和 Worker 两侧都是豫言 Wasm,完成 ready、回显和终止;复杂结构化克隆与转移列表待验。若两侧使用不同豫言程序,可分别构建到页面目录及 Worker 子目录,页面创建指向子目录外壳的 Worker,见 `工作线程接口.清单.tsv`。

`事件。豫` 的订阅选项可预声明 `键盘阻止默认` 规则数组。每条规则须有 `key`,可选 `ctrlKey`、`metaKey`、`altKey`、`shiftKey` 布尔条件;未指定的修饰键不参与匹配。宿主在原生键盘回调中同步匹配并执行 `preventDefault()`,随后把键、代码、修饰键、重复和输入法组字状态投递给豫言。真实 Chrome 已验无 Ctrl/Meta 的 Tab 被阻止默认,输入框焦点保留;其他组合待验。豫言可用已有定时器为编译阶段和运行阶段分别设超时。

真实 Chrome 还验了 Worker 的 MessagePort 与 ArrayBuffer 同次转移:页面豫言 Wasm 发送 `00 FF 41`,发送后原缓冲区 `byteLength` 为 0,Worker 豫言 Wasm 读回 3 字节和原值,并经转入端口回复。具名 Worker 在内部读回名称,也在回信后调用 `close()`;同源缺失脚本的 `error` 事件送达页面豫言。`messageerror`、反向转移和关闭竞态待验。Worker 消息中的对象句柄可由 `浏览器工作线程事件数据字段句柄` 从事件 JSON 读取。接口依据见 [HTML Worker 标准](https://html.spec.whatwg.org/multipage/workers.html)。

`流式编码。豫` 提供 TextEncoderStream、TextDecoderStream 的构造、属性和读写端句柄;`流。豫` 新增文字写器及安全文字读取入口。真实 Chrome 已验证“甲”“乙”两段写入生成六字节 UTF-8、拆开的汉字和 BOM 被正确组合;坏 UTF-8 在严格模式返回 TypeError,非严格模式产出替换字符。详 `流式编码接口.清单.tsv` 与 [Encoding 标准](https://encoding.spec.whatwg.org/#interface-textdecoderstream)。

`网络。豫` 的可取消请求先返回在途 Promise 句柄,豫言可中止其 AbortSignal,再调用 `浏览器请求候回应安全` 取得 Response 句柄或错误;`浏览器回应文字安全` 读取正文。真实 Chrome 已验证同源 HTTP 200、在途 AbortError、预先中止的自定理由和无效等待句柄。详 `网络中断接口.清单.tsv` 与 [Fetch 标准](https://fetch.spec.whatwg.org/#dom-global-fetch)。

`中断。豫` 让豫言创建 AbortController、取得信号、传入文字或对象理由、检查 `throwIfAborted()`,并使用 `AbortSignal.abort()`、`any()`、`timeout()` 及异步等待 `abort` 事件。真实 Chrome 已验证上述行为;`timeout(-1)` 安全返回 RangeError。详 `中断接口.清单.tsv` 和 [DOM 中断标准](https://dom.spec.whatwg.org/#aborting-ongoing-activities)。

`网址。豫` 提供返回成功标记与文本的 `encodeURI`、`encodeURIComponent`、`decodeURI`、`decodeURIComponent`;`句柄。豫` 的 `浏览器调用全局安全` 将同步异常和 Promise 拒绝转为错误 JSON。真实 Chrome 已验证坏 `%`、非法 UTF-8 和无效 URL 的错误结果,详 `网址编解码接口.清单.tsv` 与 [ECMAScript URI 函数](https://tc39.es/ecma262/multipage/global-object.html#sec-decodeuricomponent-encodeduricomponent)。

`事件。豫` 可创建 EventTarget/Event、发送事件、登记 capture/once/passive/AbortSignal 等监听选项,并读取事件状态。同目标同名可通过 `浏览器事件订阅多` 登记多个监听器,再按订阅号单独撤销。豫言预先决定是否阻止默认动作或传播;宿主在原生回调中同步执行,并保存 target、currentTarget、composedPath、eventPhase 等快照供豫言稍后处理。真实 Chrome 已验证捕获顺序、一次监听、信号撤听、多监听器、被动监听不取消默认及同步止同处;其他边界待验,详 `事件接口.清单.tsv` 与 [DOM 标准](https://dom.spec.whatwg.org/#events)。

`表单数据。豫` 把 FormData 的空构造、表格与提交按钮构造、文字和文件字段修改、查询与有序枚举交给豫言;文件项用句柄保存原字。真实 Chrome 已验证 `00 FF 41` 经 Request multipart 往返。详 `表单数据接口.清单.tsv` 和 [XMLHttpRequest 标准](https://xhr.spec.whatwg.org/#interface-formdata)。

表单的 `formdata` 事件可订阅并从豫言事件队列取得,`FormDataEvent` 也可由豫言创建。原生事件同步完成;队列处理无法追改已经发生的提交。要让豫言决定提交正文,应先用 `浏览器表单拦截提交` 登记阻止默认动作,再从队列取 `SubmitEvent.submitter`,由豫言调用 `浏览器表单从表格`、修改字段并发起请求。真实 Chrome 已验证此流程及 multipart 解析。[HTML 表单提交标准](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-submission-algorithm)给出事件顺序。

`物字与文件。豫` 为 Blob/File 提供字节和组合构造、元数据、切片、原生 `arrayBuffer()`/`bytes()`、`text()`、`stream()` 和安全 `textStream()`;`流。豫` 可逐块读文字。真实 Chrome 已验 `00 FF 41` 无损往返、Blob+UTF-8 文本组合、负索引切片及 File 名称、MIME 和修改时;`textStream()` 读回“甲”。`文件读取。豫` 提供 FileReader 四种读取方式、状态与事件队列,以及 file input 的 FileList 数量和逐项 File 句柄;真实 Chrome 已验二进制保真、loadstart/load/loadend/abort、程序注入 FileList 和越界。真实用户选择文件及错误事件待验,详 `物字文件接口.清单.tsv`、`文件读取接口.清单.tsv`。[W3C File API](https://w3c.github.io/FileAPI/)列出规范语义。

`流。豫` 现有通用 WritableStream writer:取得写器、查询锁和队列容量、等待 ready/closed、发起字节写入及关闭并领取 Promise 句柄,豫言可先读下游再等待操作结果。真实 Chrome 以 gzip 流验证两块在途写入、关闭、读取和 `00 FF 41` 无损解压;有效写器 `abort()` 后锁解除、无效句柄安全返回也已验。满载背压与可读侧错误传播待验,详 `可写流接口.清单.tsv`。[Streams 标准](https://streams.spec.whatwg.org/)定义写器状态与背压。

`压缩流。豫` 提供 CompressionStream、DecompressionStream 的构造及读写端句柄,也提供短字节安全转换。真实 Chrome 已验 gzip、deflate、deflate-raw 对 `00 FF 41` 的压缩解压往返;豫言主动写两块字节,经 `浏览器流接转换` 的压缩与解压管道后亦读回原字。坏 gzip 和无效格式返回失败与 UTF-8 错误字节。一次转换会在宿主内缓冲全部输出,大流应使用读写端;满载背压和取消仍待验。Brotli 是否可用依浏览器原生支持,见 `压缩流接口.清单.tsv` 和 [Compression 标准](https://compression.spec.whatwg.org/)。

`定时。豫` 提供 `浏览器定时一次`、`浏览器定时重复`、`浏览器取消定时`。到期时宿主只投递 `{名称:"定时",定时号,种类,标记,时刻}` 到豫言事件队列;同一周期器尚有未交付事件时合并后续触发,取消会移除未交付事件,宿主结束时清理定时器。每个宿主同时最多有 64 个活动定时器。真实 Chrome 已验三次周期事件、取消和一次事件。业务可用 60000 毫秒订阅周期刷新,并在 `等待浏览器事件` 中决定何时请求数据。浏览器可能延迟后台页定时器,不能把间隔当成精确时钟;见 `定时接口.清单.tsv`。[HTML 定时器规范](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html)说明时序。

`事件源。豫` 接入浏览器 EventSource 的 URL、withCredentials、自定义事件、状态和关闭。真实 Chrome 从带 CORS 标头的本地 SSE 服务收到 `notice`、数据“甲”和事件号 `7`,由豫言关闭。普通 message、错误、自动重连及凭据模式待验,详 `事件源接口.清单.tsv`。[HTML EventSource 规范](https://html.spec.whatwg.org/multipage/server-sent-events.html)为接口依据。

`消息通道。豫` 提供 MessageChannel 的端口创建、JSON 兼容值与原始字节发送、转移列表、消息等待及关闭。真实 Chrome 已验证 JSON 值、转移字节缓冲区、`00 FF 41` 无损往返,以及转入端口后继续通信。创建时宿主会安装监听并启动端口;豫言通过 JSPI 等待消息。完整的结构化克隆类型与跨 Worker 转移尚待验,见 `消息通道接口.清单.tsv`。[HTML 消息端口规范](https://html.spec.whatwg.org/multipage/web-messaging.html)为接口依据。

`套接字。豫` 将 WebSocket 的 open、message、close、error 事件送入豫言事件队列。文字消息直接传文,二进制消息用临时字节句柄;`浏览器套接字事件字节` 无损取出并释放该句柄。真实 Chrome 与本地 workerd 的双豫言 Wasm 完成文字、“00 FF 41”二进制往返和正常关闭,详 `套接字接口.清单.tsv`。

`浏览器套接字连接` 接受豫言给出的协议数组;`浏览器套接字协议` 读取服务端选中的协议。真实 Chrome 提议 `yuyan.v1`、`backup.v1`,本地 Worker 豫言程序选中 `yuyan.v1`,浏览器确认后完成文字往返。

对 Durable Object 的本地验收也提议 `yuyan.do.v1`、`backup.v1`,读回对象豫言程序选择的 `yuyan.do.v1`,随后自动回复、附件状态和正常关闭流程均通过。

`浏览器请求文字安全` 返回 `(是否取得响应, JSON 响应或错误文字)`;HTTP 404 仍是取得响应,连接拒绝返回失败。Chrome 中的豫言 Wasm 已验证两种情况后仍可继续运行,详 `网络请求接口.清单.tsv`。

`浏览器请求JSON安全(方法, 网址, 正文)` 支持 POST、PUT、PATCH,显式设置 `Content-Type: application/json; charset=utf-8`,结果结构与安全文本请求相同。真实 Chrome 的豫言 Wasm 向本地回显服务 POST,回显确认标头和正文;同页原 `浏览器请求文字安全` GET 回显没有该标头。账户接口可使用此入口提交 JSON。

`索引库。豫` 另提供四种原生键范围、`includes`、边界属性和有上限的游标快照。宿主在 IndexedDB 请求成功回调内执行 `cursor.continue()`,因此不会在事务自动提交后尝试推进。真实 Chrome 已验证对象仓逆序游标和索引键游标;动态游标操作仍待实现。[W3C IndexedDB](https://w3c.github.io/IndexedDB/)列出方向与键范围语义。

`索引库。豫` 以数据库句柄接入 IndexedDB。`浏览器索引库打开` 的 JSON 方案在 `upgradeneeded` 中同步建立对象仓和索引;`浏览器索引库事务` 接收豫言预列的操作数组,在同一个活动事务中排队,并在提交后返回 JSON 结果。`浏览器索引库事务安全` 使豫言收到成功标志或错误文字。真实 Chrome 已验证基本往返和重复键导致的整事务回滚。IndexedDB 会在事务离开可提交请求的时机后自动提交,跨其他异步事件动态追加请求仍需另一种协议;接口依据见 [W3C IndexedDB](https://www.w3.org/TR/IndexedDB/),逐项边界见 `索引库接口.清单.tsv`。

`导航与饼。豫` 提供 `浏览器读取饼安全`、`浏览器写饼安全`、`浏览器历史改态安全`,在 `SecurityError` 时返回未获准状态。既有 `浏览器读取饼` 以空字符串继续,写入和 History 改态也继续,使旧版已编译豫言应用在受限文档中仍可切换页面语言。仅这几种权限拒绝会被转换;其他异常继续报告。旧版 Wasm 的 JSDOM 沙箱与新接口测试均通过,正常浏览器路径在 Chrome 通过,详 `导航接口.清单.tsv`。

`储存。豫` 现按“本地”或“会话”选择 `localStorage`、`sessionStorage`,提供读取、写入、删除、清空、序键和计数;读取结果用布尔值区分缺失与空字符串。原有 `读取浏览器储存`、`写入浏览器储存` 仍可调用。`浏览器订阅储存变化` 接收其他同源文档更新后的 `storage` 事件,事件队列保留区域、键、旧值、新值和网址。Chrome 中两个豫言 Wasm 页面经 iframe 验证了跨文档通知,逐项限制见 `储存接口.清单.tsv`。

`公开操作。豫` 提供页面调用豫言的通用协议:豫言注册命名空间和方法,页面调用返回 Promise;宿主把方法、参数及调用号送入豫言事件队列,豫言按调用号完成或拒绝。`自动启动.mjs` 另导出 `就绪`、`完成` 和 `宿主`;`就绪` 在豫言开始等待事件后解析。真实 Chrome 已验对象返回、拒绝、两个并发调用逆序回复、程序退出清理,以及既有自动启动与跳过条件。公开方法最多允许 1024 个在途调用。当前 Wasm 应用只导出 `_start`,因此这个协议不能提供 `window.豫言界面.译()` 一类同步返回值;调用方须等待 Promise,或待编译器支持额外的豫言同步导出。详 `公开操作接口.清单.tsv`。

`饼仓。豫` 现提供 [Cookie Store 标准](https://cookiestore.spec.whatwg.org/)的异步 get、getAll、set、delete 和 change 事件订阅;真实 Chrome 已验证写入、读回、枚举、删除及事件。History 回退和前进也已在 Chrome 分别触发 `popstate`,豫言读回对应 URL 与 state。MutationObserver 回调中的记录句柄现可在豫言读取类型、目标及新增节点;`takeRecords` 已验回调后的空队列。其余选项与边界见 `饼仓接口.清单.tsv`、`导航接口.清单.tsv` 和 `文树观察接口.清单.tsv`。

官网共享界面所需的 `导航与饼。豫` 已提供 document.cookie 读写、当前 URL、Location 导航与 History 状态操作;`文树观察。豫` 提供 MutationObserver 事件队列接入和 TreeWalker 文本节点遍历。真实 Chrome 已验 Cookie 往返、History 的 `pushState`/`replaceState`、文树变动回调与文本节点遍历。完整方法和未验边界见 `导航接口.清单.tsv`、`文树观察接口.清单.tsv`;自动启动模块由构建器打包,页面只需加载模块。

密钥生命周期接口现支持生成可选导出性的 AES-GCM 密钥并导出原始字节,以及 PBKDF2、HKDF 的 `deriveBits` 和派生 AES-GCM 密钥。真实 Chrome 已验证生成、导出、重新导入、PBKDF2/HKDF 派生结果与 AES 加解密互通。测试使用低迭代次数仅为验收,应用须根据自身安全要求选择参数。

`密码。豫` 提供随机 UUID、随机字节、摘要、AES-GCM 与 HMAC 的具名豫言接口。密钥保留在浏览器宿主,以句柄传给豫言;AES-GCM 的随机数必须由调用方保证在同一密钥下不重复。真实 Chrome 已验 SHA-256 对 `abc` 的摘要长度与首字节、AES-GCM 含附加认证数据的加解密往返和 HMAC 正反验签。完整 Web Crypto 方法及其他算法仍在 `密码接口.清单.tsv` 中标为待补或部分,范围依据 [W3C Web Cryptography Level 2](https://www.w3.org/TR/WebCryptoAPI/)。

本库把豫言 WasmGC 程序接到浏览器。应用在豫言中调用 `核心。豫` 的具名能力;`宿主.mjs` 只执行 DOM、事件、请求和储存操作。事件按 JSON 交给豫言,由豫言决定后续操作。

构建器须将豫言应用编译为 WasmGC,并提供值桥 Wasm(按 `库/编译器核心/编译步骤/代码生成/回收值桥接。豫` 的结构化表示写出,`yy双宿主构建` 自动生成)。外层 JS 调用 `创建浏览器宿主({程序模块, 值桥模块})`。豫言入口可循环调用 `等待浏览器事件`;JSPI 在等待期间让出浏览器事件循环。

当前能力:点击、输入、变更、表单提交事件;按标识设置文字与属性、读取输入;文字 HTTP 请求;本地储存;不透明对象句柄、二进制值交换及可读流的逐块读写。构建器已能生成装载外壳。DOM 接入尚未包含所有 Web IDL 接口;新增能力仍需独立的豫言声明、宿主适配及行为验证。

`网址。豫` 提供 URL 与 URLSearchParams 的具名豫言接口,包括活动 `searchParams`、重复查询参数、相对 URL、静态解析和对象 URL。真实 Chrome 已加载构建出的外层 JS 与豫言 Wasm,显示“网址操作通过”;逐项状态见 `网址接口.清单.tsv`。原生回调及部分边界仍需继续验收。

页面可直接引用 `自动启动.mjs?标识=应用根`;只有该 DOM id 存在时才加载 Wasm,省略查询参数时直接启动。它与 `入口.mjs` 一起由双宿主构建器复制,调用 JS 无需由应用另写。真实 Chrome 已验证启动与跳过两种路径。

`文树。豫` 现可取得宿主实际使用的 Document 根句柄,再由豫言创建、查询、插入、移除和修改节点;NodeList 可转换为不透明句柄列表。真实 Chrome 已验证一轮 DOM 创建与删除,逐项状态见 `文树接口.清单.tsv`。

`类名与样式。豫` 让豫言操作活动 classList 与内联 CSSStyleDeclaration,真实 Chrome 的 Wasm 往返测试已通过;逐项验证状态见 `类名样式接口.清单.tsv`。

`浏览器订阅并阻止默认` 由豫言预先登记目标句柄和事件名。宿主在非 passive 的原生回调中同步调用 `preventDefault()`,随后仍将事件送入豫言队列;`浏览器取消订阅事件` 可撤销该监听器。真实 Chrome 已验证普通 GET 表单提交被取消,页面保持原址。当前策略按目标和事件种类预先决定,尚不能在异步收到每个事件后再决定是否取消同一事件的默认动作。

说明.文言.md

# 浏览器宿主库

`广播频道。豫` 备 BroadcastChannel 之造、察名、发象与原字、候事及闭。宿主投 `message`、`messageerror` 入客事列,客自裁得信之行。真 Chrome 已验页内二频道往还、`00 FF 41` 原字无失,及页与 Dedicated Worker 各运行豫言 Wasm 而通。繁复克隆、跨页签与 `messageerror` 尚待验,详 `广播频道接口.清单.tsv` 与 [HTML 广播频道规范](https://html.spec.whatwg.org/multipage/web-messaging.html#broadcasting-to-other-browsing-contexts)。

`空闲回调。豫` 接页之 `requestIdleCallback`、`cancelIdleCallback` 于豫言事列。客可请无期之闲,亦可定 `timeout` 毫秒;宿主于原生回调当刻取 `IdleDeadline.didTimeout` 与 `timeRemaining()`,投 `{名称:"空闲",空闲号,标记,已超时,剩余毫秒}`。真 Chrome 已验二请及撤。闲时由浏览器裁,限期之请亦可先至;Safari 若无此能,宿主明报其阙。详 `定时接口.清单.tsv` 与 [W3C 后台任务规范](https://w3c.github.io/requestidlecallback/)。

`动画帧。豫` 以原生 `requestAnimationFrame`、`cancelAnimationFrame` 接页与有页为主之 Dedicated Worker。宿主唯投帧号、客标及原生时刻于事列,绘制与续请皆由豫言裁之;宿主终则撤余帧。真 Chrome 已别验页与工之请、撤及得事;工内豫言 Wasm 亦验一次时之撤、重复二事及另一次时事。详 `定时接口.清单.tsv` 与 [HTML 动画帧标准](https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames)。

`工作线程。豫` 今可由客造 module 或 classic 工,发癸象可容之值与可移物列,亦可止工。宿主造工即听 message、messageerror、error,诸信同入客事列,故工速报 ready 而不失。相对址据应用构建目录解之。`工作线程自动启动.mjs` 为构建器所抄定壳,可于 Dedicated Worker 内载另一豫言 Wasm;工内客取自身柄听主信,以 `浏览器工作线程向主线程发值` 答之。真 Chrome 已验页与工皆运行豫言 Wasm,初信、回信、止工悉通;繁复克隆与转移待验。两客若用异源,可分构于页目录与工子目录,而页造工时指其壳,详 `工作线程接口.清单.tsv`。

`事件。豫` 订阅之策可先列 `键盘阻止默认`:每律必有 `key`,可别定 `ctrlKey`、`metaKey`、`altKey`、`shiftKey` 之阴阳;未定者不拘。宿主于原生键事当刻辨律而禁默认,继投键、码、辅键、重复与组字之状于客列。真 Chrome 已验无 Ctrl/Meta 之 Tab 默认被禁,输入框焦点犹在;余组合待验。编译与运行两期之限,可由豫言用既有定时器各定之。

真 Chrome 又验工之端与字缓冲同信转移:页客发 `00 FF 41`,发后原缓冲之 `byteLength` 为零;工客得三字如故,借转入之端答之。页所命工名,工客读而核之;回信后工自 `close()`。同源工脚本阙,`error` 事亦至页客。`messageerror`、逆向转移与闭工竞态尚待验。工信对象柄可由 `浏览器工作线程事件数据字段句柄` 循事文取之。接口据 [HTML 工标准](https://html.spec.whatwg.org/multipage/workers.html)。

`流式编码。豫` 备 TextEncoderStream、TextDecoderStream 之造、察性及读写端柄;`流。豫` 今有文字写器与安全读文门。真 Chrome 已验「甲」「乙」两段写成六字节 UTF-8,断开之汉字与 BOM 亦合之;坏 UTF-8 严解归 TypeError,宽解出替换字符。详 `流式编码接口.清单.tsv`、[Encoding 标准](https://encoding.spec.whatwg.org/#interface-textdecoderstream)。

`网络。豫` 之可断求先还在途待柄,客可断其 AbortSignal,继以 `浏览器请求候回应安全` 取 Response 柄或错文;`浏览器回应文字安全` 取正文。真 Chrome 已验同源二百、在途 AbortError、预断自定理由及无效待柄。详 `网络中断接口.清单.tsv`、[Fetch 标准](https://fetch.spec.whatwg.org/#dom-global-fetch)。

`中断。豫` 使客造 AbortController、取信号、授文字或对象理由、察 `throwIfAborted()`,并用 `AbortSignal.abort()`、`any()`、`timeout()` 与异步候 `abort` 事。真 Chrome 诸术已验;`timeout(-1)` 安全归 RangeError。详 `中断接口.清单.tsv`、[DOM 中断标准](https://dom.spec.whatwg.org/#aborting-ongoing-activities)。

`网址。豫` 备 URI 与成分之四编解码术,归成败爻及文;`句柄。豫` 之 `浏览器调用全局安全` 使同步错与 Promise 拒绝皆为错象文。真 Chrome 已验坏 `%`、非法 UTF-8 与无效网址,详 `网址编解码接口.清单.tsv`、[ECMAScript URI 诸法](https://tc39.es/ecma262/multipage/global-object.html#sec-decodeuricomponent-encodeduricomponent)。

`事件。豫` 可造 EventTarget、Event,发事,先立 capture、once、passive、AbortSignal 等听策,并察事状。同目标同名可由 `浏览器事件订阅多` 立多听,各持号以独撤。客先裁止默认或止传播,宿主于原生回调同步行之,且存 target、currentTarget、composedPath、eventPhase 诸状以待客后取。真 Chrome 已验捕获序、一次听、信号撤听、多听、被动不止默认及同步止同处;余界尚待验,详 `事件接口.清单.tsv`、[DOM 标准](https://dom.spec.whatwg.org/#events)。

`表单数据。豫` 使客造空表、由表格与提交钮造表、添置删取文字与文件诸项,并循原序枚举;文件原字留柄。真 Chrome 已验 `00 FF 41` 经 Request multipart 往返,详 `表单数据接口.清单.tsv` 与 [XMLHttpRequest 标准](https://xhr.spec.whatwg.org/#interface-formdata)。

`formdata` 事可预订而后自客列取,FormDataEvent 亦可由客造。然原生事同步,列中后取不得追改已成之提交。欲以客裁正文,当先以 `浏览器表单拦截提交` 止默认,取 `SubmitEvent.submitter`,再以客造表、改项、发求。真 Chrome 已验此径及 multipart 解析;事序据 [HTML 表单提交标准](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-submission-algorithm)。

`物字与文件。豫` 备 Blob/File 原字与合件之造、察元、截取、原生 `arrayBuffer()`/`bytes()`、`text()`、`stream()` 与安全 `textStream()`;`流。豫` 可逐块读文字。真 Chrome 已验 `00 FF 41` 无损、Blob 合 UTF-8 文、负索引截取及 File 名、类、修改时;文字流读回「甲」。`文件读取。豫` 备 FileReader 四读法、察态、候事与 FileList 序取;真 Chrome 已验原字无损、诸终事、程序置件及越界。真人择件与错事待验,详 `物字文件接口.清单.tsv`、`文件读取接口.清单.tsv` 及 [W3C File API](https://w3c.github.io/FileAPI/)。

`流。豫` 今有通用可写流写器:取柄、察锁与容量、候 ready/closed、先发写与闭之待柄,客可先读下游再候诸果。真 Chrome 以 gzip 验两块在途写、闭、读及 `00 FF 41` 解还;有效写器中断后锁释,无效柄安全归误,皆验。满载背压与读端错事尚待验,详 `可写流接口.清单.tsv` 及 [Streams 标准](https://streams.spec.whatwg.org/)。

`压缩流。豫` 有 CompressionStream、DecompressionStream 造流、读写端柄及短字安全转换。真 Chrome 三式 gzip、deflate、deflate-raw 以原字 `00 FF 41` 往还;客又主动写两块,经压解双管而原字复得。坏 gzip 与无效格式归阴及 UTF-8 误字。一次转换于宿主聚全出字,大流宜执端柄;满载背压与取消尚待验。Brotli 可否用依浏览器本能,详 `压缩流接口.清单.tsv` 及 [Compression 标准](https://compression.spec.whatwg.org/)。

`定时。豫` 有一次、重复、取消三门。期至,宿主但投 `{名称:"定时",定时号,种类,标记,时刻}` 入客事列;同号未交之事仅留一,撤则去未交之事,宿主终亦清诸期。真 Chrome 已验三期、撤与一期。业务可订六万毫秒而于 `等待浏览器事件` 中自决取数。后台页之期可迟,不可作精时;详 `定时接口.清单.tsv` 及 [HTML 定时器规范](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html)。

`事件源。豫` 接浏览器 EventSource 之址、凭据、订名、候事、察态与闭联。真 Chrome 从带 CORS 标头之本地 SSE 得 `notice`、文「甲」与号 `7`,由豫言闭之。常信、错事、自动重联与含凭据之义尚待验,详 `事件源接口.清单.tsv`,据 [HTML EventSource 规范](https://html.spec.whatwg.org/multipage/server-sent-events.html)。

`消息通道。豫` 可造端、传癸象值与原字、列转移诸柄、候消息而闭端。真 Chrome 已验象值、转字缓冲、`00 FF 41` 原字往还,及移端后续通。造时宿主立监听而启端,豫言以 JSPI 候事。诸余克隆值与跨工转端尚待验,详 `消息通道接口.清单.tsv`;接口据 [HTML 消息端口规范](https://html.spec.whatwg.org/multipage/web-messaging.html)。

`套接字。豫` 使开、信、断、误诸事入豫言事列。文信直传,字信以暂柄授客;`浏览器套接字事件字节` 取原字而释柄。真 Chrome 与本地 workerd 双豫言 Wasm 验文与 `00 FF 41` 往返,且正常断联,详 `套接字接口.清单.tsv`。

`浏览器套接字连接` 受客所列诸协议;`浏览器套接字协议` 读服务所择。真 Chrome 提 `yuyan.v1`、`backup.v1`,本地 Worker 豫言客择 `yuyan.v1`,浏览器确认后文信往返。

对持久对象之本地验复提 `yuyan.do.v1`、`backup.v1`,读得对象豫言客所择 `yuyan.do.v1`,后静答、附件与常断之程皆成。

`浏览器请求文字安全` 归「有答否」及癸象答或事故文;HTTP 404 犹为有答,连接拒则为阴。真 Chrome 之豫言 Wasm 验二者后仍可续行,详 `网络请求接口.清单.tsv`。

`浏览器请求JSON安全` 受 POST、PUT、PATCH,明置 `Content-Type: application/json; charset=utf-8`,归值同安全文字请。真 Chrome 豫言 Wasm 向本地回显处写癸象,验标头与正文;同页旧 GET 未加此标。账户请可由此入。

`索引库。豫` 又具四式原生键界、includes、边界属性及有限之游标快照。宿主于 IndexedDB 请成之回调内行 `cursor.continue()`,不于事务自提交后妄续。真 Chrome 已验仓之逆游与索引唯键游;动态游标诸术尚待作。据 [W3C IndexedDB](https://w3c.github.io/IndexedDB/) 之书。

`索引库。豫` 以句柄通 IndexedDB。开库之癸象方案于 `upgradeneeded` 同步建仓与索引;事务之诸术由豫言预列,宿主同一活期排之,提交乃归癸象诸果。安全事务门令客得成否或事故文。真 Chrome 已验基路及重键使整事务回滚。索引库离可排请求之期则自提交,跨别异步事临时添请尚须别议。接口据 [W3C IndexedDB](https://www.w3.org/TR/IndexedDB/),逐项见 `索引库接口.清单.tsv`。

`导航与饼。豫` 今具 `浏览器读取饼安全`、`浏览器写饼安全`、`浏览器历史改态安全`,遇 `SecurityError` 则归不许。旧取饼归空文而续,写饼、改史亦续,使旧已编豫言客码于受限文档仍可易语。唯此数权限拒转义,余错仍报。旧 Wasm 沙箱与新术皆验,真 Chrome 正常径亦验,详 `导航接口.清单.tsv`。

`储存。豫` 今按「本地」「会话」择二仓,具取、写、删、清、序键与计数之术;所取以爻别无值与空文。旧取写之门仍可用。订储存变化,则他同源文档改仓之事入客队列,载区域、键、旧新值与网址。Chrome 以豫言父子二页之 iframe 验其通;诸界详 `储存接口.清单.tsv`。

`公开操作。豫` 今立页呼客之通约:客注册空间与术,页呼得 Promise;宿主以术、参、号入事列,客按号成之或拒之。`自动启动.mjs` 又出 `就绪`、`完成`、`宿主`;客始候事,乃称就绪。真 Chrome 已验返对象、拒绝、双请逆序还果、客毕清名,及旧式自启与条件跳过。在途至多一千二十四。今 Wasm 应用唯出 `_start`,故不得以此约使 `window.豫言界面.译()` 同步返值;呼者须候 Promise,或俟编译器另出可同步呼之豫言函数。详 `公开操作接口.清单.tsv`。

`饼仓。豫` 今依 [Cookie Store 标准](https://cookiestore.spec.whatwg.org/)授异步取、尽取、设、删及变事之门,真 Chrome 已验往返与变事。History 回进各发 `popstate`,豫言复取网址与态,亦有真验。MutationObserver 所送记录柄,客今可读类、目标及新增节点;`takeRecords` 之事后空列亦验。余选项与边见 `饼仓接口.清单.tsv`、`导航接口.清单.tsv`、`文树观察接口.清单.tsv`。

官网共用界面所需之饼、网址与史态,今由 `导航与饼。豫` 授门;文树变动与游标遍历,今由 `文树观察。豫` 授门。真 Chrome 已验饼读写、史态推替、变动回调入事列及文本节点遍历。余法与边见 `导航接口.清单.tsv`、`文树观察接口.清单.tsv`;自动启动模块由构建器汇出,页面唯载之即可。

钥之生、出与派生今有门:AES-GCM 生成时可定可导,出原字节;PBKDF2、HKDF 可求字节,亦可求 AES-GCM 钥。真 Chrome 已验生钥、出入往返及派生钥与派生字节互解。测试轮数低,唯供验术;实务参数须依其安需定之。

`密码。豫` 今有随机识别、随机字节、摘要、AES-GCM 与 HMAC 之豫言门。钥留浏览器宿主,以柄相授;AES-GCM 同钥之随机数不可复用。真 Chrome 已验 SHA-256 算 `abc` 之长与首字节、含附加验文之密往返与 HMAC 真伪二验。Web Crypto 余术及诸算法尚待补,详 `密码接口.清单.tsv`;范围据 [W3C Web Cryptography Level 2](https://www.w3.org/TR/WebCryptoAPI/)。

此库以豫言 WasmGC 接浏览器。客书呼《核心。豫》所列诸能;《宿主.mjs》但施文树、收事件、求网络、存本地。事至,录为癸象而授客;后事悉由豫言裁之。

构建者须成客器及值桥(依 `库/编译器核心/编译步骤/代码生成/回收值桥接。豫` 之结构书之,`yy双宿主构建` 自出之),以 `创建浏览器宿主` 起之。客入口可恒候事件;JSPI 候时不壅浏览器。

今具点击、输入、变更、表单提交,按名改文与属性、读输入,文字网求及本地储存;又具不透明句柄、字节传值与可读流逐块取写。构建器已能生装载外壳。Web IDL 万端未悉具;后增诸能,当分门立名,验其真行。

《网址。豫》今具 URL 与 URLSearchParams 之豫言门,含活动查询参数、重名项、相对址、静析与物址。真 Chrome 已载外层 JS 与豫言 Wasm,页示「网址操作通过」;逐术见 `网址接口.清单.tsv`。原生回呼与诸边尚待验。

页可直载 `自动启动.mjs?标识=应用根`;指定 DOM 标识在则取 Wasm 而启,不在则略之,省标识则即启。双宿主构建器与 `入口.mjs` 同抄之,应用毋须别书调用 JS。真 Chrome 已验启、略两途。

《文树。豫》今可取宿主实用 Document 根柄,继由豫言造、求、附、删、改诸节点;NodeList 可化不透明柄列。真 Chrome 已验一轮文树造删,逐术见 `文树接口.清单.tsv`。

《类名与样式。豫》使豫言操活动 classList 与行内 CSSStyleDeclaration;真 Chrome 之 Wasm 往返已验,逐术见 `类名样式接口.清单.tsv`。

`浏览器订阅并阻止默认` 由豫言先记目标柄与事名。宿主于非 passive 真回呼中即行 `preventDefault()`,仍传事于豫言队列;`浏览器取消订阅事件` 可撤之。真 Chrome 已验普通 GET 表单提交被止,页留原址。今策先按目标及事名定之;事已异步至豫言后,不能复为同一事临时决其默认之止否。