文档手册

behavior: frame

2024-07-18 15:35:58

behavior: frame

此行为处理 <frame> / <iframe> 元素的功能 - 宿主文档内子文档的容器。

该行为可以应用于任何块元素, <div> 或者 <section> 例如。

Elements

默认情况下,这些元素应用了 behavior:frame:

  • <frame> - 块文件容器;

  • <iframe> - 内联块文档容器。

在 Sciter 中,是一个普通的 DOM 元素, <frame> 可以出现在其他块元素可以出现的任何上下文中。不仅作为一个孩子. <frameset>

Model

<frame> 元素最初可以包含任意内容。在这方面 <frame><div><section> 没有任何不同。

<frame>
<p>Select document to load</p>
</frame>

内容加载后(由于 src 属性处理或 .load() 方法调用),框架将具有单个子元素 - <html> 例如加载文档的根元素。

已加载的 <frame> 文档:

<frame>
<html>
<head>...</head>
<body>...</body>
</html>
</form>

要从脚本访问加载的文档,请使用 el.frame.document 将返回子文档元素的属性:

var frm = document.$("frame#main");
var childDoc = frm.frame.document;
var someBtn = childDoc.$("button#some");
...

Attributes

  • src="url" - 可选,要在框架中加载的文档的 URL;

  • content-style="url" - 可选,要应用于内容.css文件的 URL。当宿主文档需要在文档本身定义的样式之上应用某些特定样式时,此选项非常有用。

State flags

  • :busy - 此标志在文档加载期间处于“打开”状态。它可用于设置“文档加载...”的样式。州。

Events

  • "newdocument" / DOCUMENT_CREATED 事件 - 作为文档加载的第一步生成。此时,新文档存在,但为空;

  • "complete" / DOCUMENT_COMPLETE 事件 - 文档已完成加载 - DOM 已准备就绪,所有待处理的资源请求已完成。

Properties

frame.document

文档,只读,加载到框架中的文档对象。

frame.mediaVars

对象、读/写、对象(名称/值映射) - 文档使用的媒体变量的键/值映射。

frame.url

string, read/write, string - 加载到框架中的文档的 URL。

Methods

frame.loadFile()

el.frame.loadFile(url:string) : bool

从 URL 开始加载文档。

frame.loadHtml()

el.frame.loadHtml(html:string | ArrayBuffer, baseUrl: string) : bool

从html字符串加载内容,baseUrl用于解析文档内的相对URL。

frame.loadEmpty()

el.frame.loadEmpty()

通过在框架中加载空文档来清除框架的内容。

frame.saveFile()

el.frame.saveFile(fileUrl:string) : bool

以 UTF-8 编码将文档保存到文件中。

frame.saveBytes()

el.frame.saveBytes() : ArrayBuffer

将文档作为 UTF-8 编码字节序列保存到 ArrayBuffer 中。

Value

 不适用

Frame events handling in script

const frame = document.$("frame#some");
frame.on("complete", function(evt)
{
...
}