直至正文
豫言包府
← 众包

豫言操作系统网页应用 0.1.0

豫言 · 库

在当前网页里加载并启动另一个同源的豫言浏览器应用。

网页应用之约 0.1.0

此包令一浏览器中之豫言应用启同站之另一豫言浏览器应用。云控制台诸服务页(用量分析、AI 市场)各为独立构建之豫言应用,宿主页中之控制台应用,需时以之挂于页上,而不使页面别书 JavaScript 以动态载之。客依此包,诸术皆当具。

“豫言浏览器应用”,谓构建器所生之应用目录:其中有加载器“入口.mjs”(出“启动豫言浏览器应用(选项)”)、程序.wasm、值桥.wasm、宿主 JS 与接口清单;子应用自有其 Wasm 实例、自有其统一事列、自有其句柄表,与父应用惟凭页面本身(文树、网页消息)相通。

诸术

启动页面应用:字符串,返有

参数乃子应用加载器之站内径,如“/AI市场应用/入口.mjs”。宿主:

  1. 验其径(见下);
  2. 动态载其模块,调其所出之“启动豫言浏览器应用()”(应用文件之位默认在此模块所在之目录);
  3. 挂起当前之调用,直至子应用就绪——其首入事件之候,或已行毕;就绪前父应用之事照常排列;
  4. 而返。子应用此后独行,直至页终或父应用终(宿主闭则子应用一并闭);父应用不能止之,亦不能问之。

径之律:以“/”首而非“//”首;以“/入口.mjs”终;至多五百一十二 UTF-16 码元;无“..”、“.”目录段、查询(“?”)、片段(“#”)、反斜杠、控制字符与百分号编码。违者为违约之调用。

限额与败:同一径于一页中惟可启一次(重启则发事故,免二应用争同一片文树);同时至多启八个子应用;模块不存或载败、模块无“启动豫言浏览器应用”之出、子应用装载或接口核对败、三十秒内未就绪,皆发事故而附中文之释(子应用启后所生之败不累父应用)。

用之约

  • 先备文树,后启动:子应用启时读页中所需之元素而订阅诸事,故父应用当先以文树接口(如装入页面模板)置子应用之容器与静骨于页,然后调启动页面应用。
  • 一页中诸应用之元素标识不得相冲(子应用依标识而读写页面)。
  • 父子欲通,用网页消息包(“豫言”首之文档消息)。

一致性之例

  1. 页已有 <div id="子根"></div>;父应用启动页面应用(“/子应用/入口.mjs”)返后,子应用已书文于“子根”,且应其所订之点击。
  2. 再启动页面应用(“/子应用/入口.mjs”):发事故(已启)。
  3. 启动页面应用(“/子应用/程序.wasm”)、(“../入口.mjs”)、(“/子应用/入口.mjs?x=1”):发事故(径不合)。
  4. 径合而文件不存:发事故,释其载败。
  5. 子应用启时所至之父应用事(点击、消息)不失,启动页面应用返后可取。

界

此包不定:止或重启子应用、传参于子应用(用页面文树与网页消息)、跨来源之应用、子应用退出之告、共享内存或共享句柄。

所赖

观包之制

上传之记

今修订:1 ·

  1. 修订 1
    取 ZIP

包之层级

父:豫言操作系统接口

无子包。