直至正文
豫言包府
← 众包

豫言操作系统网页消息 0.2.0

豫言 · 库

当前网页的带 JSON 详情消息通道,接入统一事件队列。

网页消息之约 0.2.0

此组令豫言客订、候、发与撤订当前文档之客消息。名须以“豫言”首(UTF-8 至多一百二十八字节);详情以 UTF-8 癸象文传,至多一 MiB。所订之事入本客器之统一事列(类曰消息,见[网页事件之约](../网页事件/规范.文言.md)),关环则候术以“关闭”为名返。发事于当前文档同步派,客自以请求号配其答。

零点二点零较零点一点零,乃统其行而增一术:

  • 消息与界面、定时诸事同处一列。等待网页消息惟取消息类之事,他类之事原样留于列,不复被吞;等待界面事件与等待网页事件亦不吞未及取之消息。
  • 增取消订阅网页消息。
  • 同名复订不生第二订阅(零点一点零未定重订之行)。
  • 详情逾一 MiB 或非有效癸象,则等待网页消息发事故(事已出列);经等待网页事件所得之消息事,则带 "详情":null 与 "详情错误":"超过一 MiB" 或 "详情错误":"不是有效 JSON"。
  • 事列之限、弃数之计与背压之规同网页事件之约(消息类默认限一千零二十四,可以设置网页事件队列上限调之)。

浏览器适配惟传事名与癸象值,不行全局回调,亦不授 JavaScript 物柄于客。此约不及跨窗、跨工与久藏之消息;欲有其义,当别立包。无文档事队列之宿主不供此组。

诸术

  • 订阅网页消息:订当前文档中此名之消息;名不合(非“豫言”首,或逾一百二十八字节)则发事故;订阅至多一百二十八名。订后至者方入列,订前已发者不补。
  • 等待网页消息:候下一消息,返(名,详情之癸象文);惟取消息类;宿主闭列后返(关闭,null),其后亦然。CustomEvent 无 detail 则详情文为 null。
  • 发布网页消息:于当前文档同步派消息。详情须为有效癸象而不逾一 MiB(字节),名须合法;否则发事故。发者自订此名,亦于己之列收之(客常以异名别请与答)。
  • 取消订阅网页消息:撤订并去此名未取之消息;名未订则无事。

败之义

名不合、详情非法或逾限,属违约之调用,发事故;详情逾限而来自页中他脚本所发者,乃收时之违约,亦发事故,然事已出列,客可续候下一条;宿主闭非败。

限额

| 项 | 限 | | --- | --- | | 名 | UTF-8 至多一百二十八字节,“豫言”首 | | 详情 | 至多一 MiB(UTF-8 字节) | | 订阅 | 至多一百二十八名 | | 事列 | 每类默认一千零二十四,逾则弃最旧而计其数(见网页事件之约) |

一致性之例

  1. 客订“豫言甲”后止于等待界面事件;页发“豫言甲”,继而用户点有标识之钮:等待界面事件返(click,钮标识),消息仍在列;客随后等待网页消息得(豫言甲,详情文)。
  2. 页发详情为一 MiB 加一字节之“豫言甲”:客之等待网页消息发事故“网页消息详情超过一 MiB”,其后之消息照常收。
  3. 同名订二次而撤一次:此名不复生事,列中遗留未取之消息被去。

界

此包不定:跨窗、跨工、久藏之消息;消息请求与答之相配(客以编号成之);癸象外之详情。

所赖

观包之制

上传之记

今修订:1 ·

  1. 修订 1
    取 ZIP

包之层级

父:豫言操作系统接口

无子包。