模块 @sciter
模块 @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 哈希值。