文档手册

URL Schemes

2024-07-18 16:38:06

URL Schemes supported by Sciter

Common URL schemes:

http://... and https://...

使用 HTTP 协议访问远程资源。Sciter 使用平台 HTTP 客户端:WinINET(Windows)、CoreNetwork (MacOS) 和 libcurl (Linux)。

file://...

访问本地文件系统。Sciter 使用内存映射文件从 FS 直接读取。

data://...

标准就地数据编码方案。

Sciter specific schemes:

home://path...

如果 Sciter 是静态链接的,则访问本地文件系统中相对于运行 sciter.dll/.so 或应用程序可执行文件的 FS 中的位置的文件。

示例,将本地文件放在同一文件夹中:

let res = await fetch("home://config.json");

sciter:resource...

访问嵌入到 Sciter 本身的资源。

应用程序可能感兴趣的一些资源:

  • sciter:ux-master.css 以及 sciter:master-base.css - 所谓的主 CSS 声明 - 元素的默认样式。

  • sciter:msgbox.htmsciter:msgbox.css - 内置消息框的定义: Window.this.modal(<alert>...</alert>) ,依此类推。

  • sciter:icon-alert.png sciter:icon-error.png 消息框中使用的 、 sciter:icon-information.pngsciter:icon-question.png - 图标。

path:... and icon:...

CSS 中用于定义矢量路径的 URL 架构 - 矢量图像:

  div { background-image: url(path: M 0 0 L 1 1 Z); }

Semi-official URL schemes:

这些方案仅在 SDK 中使用 - 在 Sciter 核心之外 - Sciter 不会在内部解释它们。

this://app/...

访问 sciter 存档的内容 - 使用 packfolder[.exe] 实用程序生成的 blob 在应用程序中编译的资源。

请参阅 SDK 的资源加载器源。

// bind resource blob with sciter::archive instance:
sciter::archive::instance().open(aux::elements_of(resources)); // bind resources[] (defined in "resources.cpp") with the archive
...
window->load(WSTR("this://app/default.htm"));

res:resource-name

特定于 MS Windows:访问捆绑到应用程序中的资源。

请参阅 SDK 的资源加载器源。