behavior: frame
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)
{
...
}