BootupSandbox
沙箱启动器
启动沙箱的流程
- 创建一个沙箱 -> 启动一台电脑
- 给沙箱安装环境 -> 安装操作系统
- 执行代码 -> 在操作系统中执行代码
Constructor Summary
Public Constructor | ||
public |
constructor(options: object) |
Member Summary
Public Members | ||
public |
document: Document |
|
public |
element: Element |
|
public |
|
|
public |
window: Window |
Private Members | ||
private |
|
|
private |
|
Method Summary
Public Methods | ||
public |
addEventListener(event: string, handler: function(event: Event, data: *): void): BootupSandbox 监听沙箱里的事件, 通过 postMessge 实现 |
|
public |
injectScript(content: string, options: object | Function): BootupSandbox 往沙箱的 body 中注入脚本 |
|
public |
ready(callback: Function): BootupSandbox 当容器环境准备好后需要触发的回调 |
|
public |
removeEventListener(event: string, handler: Function): BootupSandbox 移除沙箱里的事件监听 |
|
public |
setStyle(style: object): BootupSandbox 设置沙箱元素的样式 |
Private Methods | ||
private |
_init() 初始化 |
Public Constructors
Public Members
public document: Document source
public element: Element source
public window: Window source
Private Members
Public Methods
public addEventListener(event: string, handler: function(event: Event, data: *): void): BootupSandbox source
监听沙箱里的事件, 通过 postMessge 实现
例如在沙箱中执行如下代码抛出事件
parent.postMessage({
event: 'eventname',
data: ''
}, '*');
public injectScript(content: string, options: object | Function): BootupSandbox source
往沙箱的 body 中注入脚本
Params:
Name | Type | Attribute | Description |
content | string | 脚本的内容(可以是直接的代码或者路径) |
|
options | object | Function |
|
options 当传入 Function 类型时, 默认指向 onload |
options.onload | Function |
|
|
options.onerror | Function |
|
|
options.contentIsSrc | boolean |
|
|
options.remove | boolean |
|
注入之后是否删除 |
options.iife | boolean |
|
是否包装一个 IIFE 来隔离作用域(只针对直接运行的代码, 对外部引用的 JS 不起作用) |
public ready(callback: Function): BootupSandbox source
当容器环境准备好后需要触发的回调
需要在 iframe 里面通过 postMessage 来触发这个事件
parent.postMessage({
event: 'ENV_READY',
data: ''
}, '*');
Params:
Name | Type | Attribute | Description |
callback | Function |
public setStyle(style: object): BootupSandbox source
设置沙箱元素的样式
Params:
Name | Type | Attribute | Description |
style | object |