文档手册

模块 @sciter

2024-07-18 17:28:39

模块 @sciter

该模块包含 Sciter 特定的功能。

此模块中的常量和函数可以导出并单独使用:

import {on,off,once} from "@sciter";

on("click", event => {...});

 或作为命名空间:

import * as sctr from "@sciter";

sctr.on("click", event => {...});

 常数

 版本字符串,只读,当前引擎版本,格式为“X.X.X.X”;

 校订

字符串、只读、SVN 构建修订版;

 QUICKJS_VERSION

字符串、只读、QuickJS 版本

 功能

import()

sctr.import(path:string):object

这是标准JS import() 的同步等价物,因此可以同步用作

const module = sctr.import('my-module.js');

上面的内容本质上是 JS 中静态 import 语句的动态等价物:

import * as module from 'my-module.js';

有关更多信息,请查看 samples.sciter/runtime 演示。

 setModuleUrlResolver()

sctr.setModuleUrlResolver(func):string|false

为 中 import ... from "name" 的名称设置 url 解析器。

该函数应具有以下签名:

function resolver(name:string, documentDir:string, srcDir:string) {}

并返回一个字符串,其中包含要加载的模块的完全限定的绝对 URL。例:

// NPM style module resolver:
sctr.setModuleUrlResolver((name,documentDir)=>{
return `${documentDir}node_modules/${name}/index.js`;
});

loadLibrary()

sctr.loadLibrary("name"): any

加载 Sciter 扩展本机库 (dll,so,dylib)。

“name”是没有扩展名的 DLL 的名称。

dll 应与应用可执行文件位于同一文件夹中。请参阅可用于生成 sciter-sqlite 扩展 dll 的 /sqlite 项目。

parseValue()

sctr.parseValue(string): any

通过“JSON++ 规则”解析字符串值,以下是有效输入:

  • true -> true value;

  • null -> null value;

  • 1234 -> 数值 1234;

  • 1234n -> BigInt(64位)值1234;

  • 0xFF -> 数值 255(十六进制);

  • 0d2021-12-01 ->日期 2021-12-01 (ISO 格式);

  • 12px -> Length 类的值;

  • 1rad -> Angle 类的值;

  • {name1:val1, name2:val2,...} ->对象值;

  • [val1, val2, ...] -> array;

  • 映射和数组分隔符是 ; 标准 JSON 或标准 JSON: ,

{
 foo: 1;
 bar: 2;
}
  •  CSS 名称标记:

{
 foo-bar: zap; // parsed as "foo-bar":"zap";
}

devicePixels()

sctr.devicePixels(length: int | string[,axis])

将长度转换为设备(屏幕)像素:

  • length 可以是整数 - 浸入次数(又名“CSS 像素”)

  • 或像“2in”这样的字符串来获取放置在屏幕上的标尺的 2 英寸的屏幕像素数。

  • 轴是“宽度”或“高度”,请注意,轴参数仅适用于在 X/Y 轴上具有不同分辨率的设备。

on()

sctr.on(eventname: string, [selector: string,] handler: function) : eventTarget

jQuery样式的事件订阅,参数:

  • eventname - 字符串,事件的名称

    • 可能包含命名空间部分: "click.myns" ;

    • 可以从捕获阶段 ^ 的处理事件开始;

  • selector - 字符串,可选,目标元素的 CSS 选择器;

  • handler - function(evt,target),事件处理函数:

    • 使用 this set 调用此处理程序附加到的元素;

    • 使用两个参数 handler(evt,matchedElement) 调用 - event 和与选择器匹配的元素(如果给定);

 返回:

  • 允许链接 on 调用的事件处理程序;

off()

sctr.off(eventname): eventTarget

按名称 "click" 或命名空间 ".myns" 取消订阅事件处理程序。

sctr.off(handler: function): eventTarget

按函数引用取消订阅事件处理程序。

once()

sctr.once(eventname: string, [selector: string,] handler: function): eventTarget

sctr.on() 处理事件一次后调用 sctr.off(handler) 相同。


onGlobalEvent()

sctr.onGlobalEvent(eventname: string, handler: function): eventTarget

应用程序范围事件(也称为“全局事件”)的事件订阅:

 参数:

  • eventname,字符串,任意事件名称,可以包含命名空间 part: "click.myns" ;

  •  处理程序、函数、

    • 调用处理程序时 this ,设置为元素;返回

  • 元素本身允许链接 onGlobalEvent 调用。

提示

当文档被卸载时,处理程序会自动取消订阅,使 offGlobalEvent() 调用成为可选的。

全局事件可以通过静态 Window.send(event) 和 Window.post(event) 发送或发布,并传递给应用程序所有窗口中的所有订阅者。

offGlobalEvent()

sctr.offGlobalEvent(eventname: string): eventTarget

按事件名称(如 "click" )或命名空间(如 ".myns" )取消订阅事件处理程序。

sctr.offGlobalEvent(handler: function): Element

取消订阅事件处理程序的引用。


$()

sctr.$("selector"): Element

返回当前文档中第一个匹配的 DOM 元素。

$$()

sctr.$$("selector"): array(Element)

返回匹配的 DOM 元素的列表(数组)。


uuid()

sctr.uuid():String

以字符串形式返回 uuid。

encode()

sctr.encode(text:string, [encoding:string="utf-8"]):arrayBuffer

将文本编码为字节序列 (ArrayBuffer)。默认编码为“utf-8”。

此处的编码是 IANA 编码标识符

decode()

sctr.decode(bytes:arrayBuffer, [encoding:string="utf-8"]):String

将缓冲区中的字节序列解码为字符串。默认编码为“utf-8”。

compress()

sctr.compress(in:arrayBuffer,[method]):arrayBuffer

返回 Compressed in Buffer。

方法是“gz”、“gzip”或“lzf”(默认)之一。

decompress()

sctr.decompress(in:arrayBuffer,[method]):arrayBuffer

返回缓冲区中解压缩的返回。

方法是“gz”、“gzip”或“lzf”(默认)之一。

toBase64()

sctr.toBase64(in:arrayBuffer):string

返回在缓冲区中编码的字符串 - base64。

fromBase64()

sctr.fromBase64(in:string):arrayBuffer

从 base64 编码的字符串恢复数组缓冲区。

md5()

sctr.md5(in:arrayBuffer):string

返回 in 数据的 md5 摘要(又名哈希)。

crc32()

sctr.crc32(in:arrayBuffer):integer

返回 in 数据的 crc32 哈希值。