您可以通过一次调用来创建工作区并将其注入 DOM,也可以只创建工作区。
注射
您可以创建一个 Blockly 工作区,并通过调用 Blockly.inject(location, options)
将其注入到 DOM 中。第一个实参用于告知 Blockly 在 DOM 中将工作区注入到何处。第二个实参是一个包含配置选项的对象。
如需了解详情,请参阅创建工作区。
直接创建
您可以通过直接调用 new Blockly.WorkspaceSvg(new
Blockly.Options(options))
来创建工作区。进行此调用时,请务必在对 new Blockly.Options(options)
的调用中传递配置选项,因为 WorkspaceSvg
构造函数无法直接接受配置选项对象。
配置选项
配置对象实现了 Blockly.BlocklyOptions
,并具有以下选项。请注意,其中一些选项会根据所提供的工具箱是否包含类别来更改其默认值。
名称 | 类型 | 说明 |
---|---|---|
collapse
|
布尔值 | 块上下文菜单是否包含用于收起或展开块的项。如果工具箱包含类别,则默认为 true ,否则为 false 。 |
comments
|
布尔值 | 块上下文菜单是否包含用于添加或移除注释的项。如果工具箱包含类别,则默认为 true ,否则为 false 。 |
css
|
布尔值 | 如果为 false,则不注入 CSS(提供 CSS 成为文档的责任)。默认为 true 。 |
disable
|
布尔值 | 屏蔽上下文菜单是否包含用于停用或启用屏蔽的项。如果工具箱包含类别,则默认为 true ,否则为 false 。 |
grid |
对象 | 配置块可贴靠到的网格。请参阅网格。 |
horizontalLayout
|
布尔值 | 如果 true 工具箱是水平的,则为 false 工具箱是垂直的。默认值为 false 。 |
maxBlocks
|
数值 | 可创建的块数量上限。适用于学生练习。默认为 Infinity 。 |
maxInstances
|
object | 从块类型到可创建的相应类型的最大块数的映射。未声明的类型默认为 Infinity 。示例:maxInstances: {'controls_if': 3, 'math_number': 42} |
maxTrashcanContents
|
number | 回收站弹出式窗口中显示的最大已删除项目数。'0' 会停用此功能。默认值为 '32' 。 |
media
|
字符串 | 从网页(或框架)到 Blockly 媒体目录的路径。
默认值为 'https://blockly-demo.appspot.com/static/media/' 。请参阅媒体文件夹。 |
modalInputs
|
布尔值 | 如果为 true ,则在移动设备上为文本输入字段及其子类显示模态编辑器,在桌面设备上显示内嵌编辑器。如果值为 false ,则在桌面设备和移动设备上都显示内嵌编辑器。默认值为 true 。 |
move
|
object | 配置用户在工作区中的移动方式。请参阅移动。 |
oneBasedIndex
|
布尔值 | 如果 true 列表和字符串操作应从 1 开始编制索引,如果 false 从 0 开始编制索引。默认值为 true 。 |
plugins
|
对象 | 一个对象,用于将注册的替换类名称映射到替换类或替换类的注册名称。请参阅注入替换类。 |
readOnly
|
布尔值 | 如果为 true ,则禁止用户进行编辑。禁止显示工具箱和回收站。默认值为 false 。另请参阅 setIsReadOnly 和 isReadOnly 。 |
renderer
|
字符串 | 确定 Blockly 使用的渲染器。预打包的渲染器包括 'geras' (默认)、'thrasos' 和 'zelos' (类似 Scratch 的渲染器)。如需了解自定义渲染器,请参阅创建自定义渲染器。 |
rtl
|
布尔值 | 如果值为 true ,则镜像编辑器(对于阿拉伯语或希伯来语语言区域)。请参阅 RTL 演示。默认值为 false 。 |
scrollbars
|
对象或布尔值 | 设置工作区是否具有垂直或水平滚动条。接受一个对象,其中 horizontal 属性用于确定是否启用水平滚动,vertical 属性用于确定是否启用垂直滚动。如果传递的是布尔值,则相当于传递一个对象,其中 horizontal 和 vertical 属性均设置为该值。如果工具箱包含类别,则默认为 true 。 |
sounds |
布尔值 | 如果为 false ,则停用声音。默认设置为 true 。 |
theme
|
主题 | 如果未提供主题,则默认为经典主题。 请参阅主题。 |
toolbox
|
字符串、XML 或 JSON | 用户可用的类别和块的树状结构。如需了解详情,请参阅定义工具箱。 |
toolboxPosition
|
字符串 | 如果 'start' 工具箱位于顶部(如果是横向)或左侧(如果是纵向且 LTR)或右侧(如果是纵向且 RTL)。如果 'end' 工具箱位于另一侧。默认值为 'start' 。 |
trashcan
|
布尔值 | 显示或隐藏回收站。如果工具箱包含类别,则默认为 true ;否则默认为 false 。 |
zoom |
对象 | 配置缩放行为。请参阅缩放。 |