豫言 / 豫言操作系统网页界面适配 @ 0.3.0
以浏览器文树、统一事件队列、界面读回与控制原语实现豫言操作系统网页界面接口。
说明.汉语.md
# 浏览器网页界面适配 `页面。豫` 实现[网页界面接口](../../../豫言操作系统接口/网页界面/规范.汉语.md) 0.3.0,把浏览器宿主的元素读写、控件读回、焦点、光标、滚动、模态框、属性读回与移除、程序性点击、位置与矩形,以及统一事件队列收束为中文函数。应用只见元素 ID、纯文本、受限属性与事件名称,不见原生 DOM 句柄。`实现接口。豫` 固定公共包身份与版本,接口检查器须在构建前核对全部签名。 **结构**:除 `读取页面语言`(经通用句柄桥读取根元素)外,所有按 ID 的读写都经**一个**宿主入口 `豫言_浏览器_界面操作(操作, 标识, 参一, 参二)`,返回(成败,结果或错误文);适配把失败转成豫言事故,所以宿主异常不会越过 Wasm 边界。`等待界面事件` 经宿主的类型化入口 `豫言_浏览器_等待界面事件`,只取界面类型的事件。**属性白册、类名规则、限额与危险元素清单只在宿主 `创建页面控制` 里写一处**(与网页文树共用),适配层不重复,避免两边漂移。 **0.3.0 新增的六个函数**(`读取节点属性`、`移除节点属性`、`读取节点文字`、`点击节点`、`设置节点位置`、`读取节点矩形`)同样经 `界面操作` 入口(操作名 `读取属性`、`移除属性`、`读取文字`、`点击`、`设置位置`、`读取矩形`);`读取节点属性` 的宿主结果以首字符“1”加值或“0”表示存在与否,适配拆成(爻,字符串)。 **与 0.1.0 的差异**:`设置节点属性` 的白册更宽(见规范),`href` 只允许用于 `a`,且放行 `http:`;失败消息改为宿主统一的中文(如“页面属性不受支持:onclick”);元素不存在等错误现在是可捕获的豫言事故,而不是宿主异常。 **验收**:见 `网页事件浏览器/一致性验证/`(本包的探针与测试同放于那里,因为四个包共用一个探针应用)。
说明.文言.md
# 浏览器网页界面适配 `页面。豫` 承[网页界面之约](../../../豫言操作系统接口/网页界面/规范.文言.md)零点三点零,以浏览器宿主之元素读写、控件读回、焦点、光标、滚动、模态框、属性之读回与去除、程序之点、位与矩形,及统一事列,出中文诸术。客惟见元素标识、纯文、受限属性与事名,不得原生文树之柄。`实现接口。豫` 固其包籍与版本;构前当核诸签。 **构**:除读取页面语言(经通用柄桥读根元素)外,凡按标识之读写皆经宿主**一**入口 `豫言_浏览器_界面操作(操作, 标识, 参一, 参二)`,返(成败,果或错文);适配化败为豫言事故,故宿主之异常不越 Wasm 之界。等待界面事件经宿主之分类入口 `豫言_浏览器_等待界面事件`,惟取界面类之事。**属性白册、类名之律、限额与险元素之目惟写于宿主 `创建页面控制` 一处**(与网页文树共之),适配层不复写,免两处相离。 **零点三点零所增六术**(读取节点属性、移除节点属性、读取节点文字、点击节点、设置节点位置、读取节点矩形)亦经 `界面操作` 之入口(操作名曰读取属性、移除属性、读取文字、点击、设置位置、读取矩形);读取节点属性之宿主果,以首字“1”加值或“0”示其有无,适配拆为(爻,字符串)。 **较零点一点零之异**:设置节点属性之白册更宽(见约),href 惟施于 a,且放行 http:;败辞改为宿主统一之华言(如“页面属性不受支持:onclick”);元素阙等错今为可捕之豫言事故,非宿主之异常。 **验收**:见 `网页事件浏览器/一致性验证/`(四包共一探针客,故其探针与测试同置于彼)。