八荒启八荒启-交互动画
GeoGebra JavaScript API 完整参考
技术文档·数学交互动画·进阶

GeoGebra JavaScript API 完整参考

在网页中嵌入 GGB applet 并通过 JS 控制的完整 API 列表,带中文说明和示例。

阿楚
高级创作者 · CTO
2026-03-28 2.8w
#GeoGebra#API#JavaScript

GeoGebra JavaScript API · 中文参考

对应官方 GeoGebra Apps API · 上次同步:2026-04-20

GeoGebra 提供了完整的 JavaScript API,让开发者可以在网页中嵌入 GGB applet,并通过 JS 代码控制。

基本嵌入

通过 HTML 插入一个容器元素,再用 GGBApplet 初始化:

<div id="ggb-container"></div>

<script src="https://www.geogebra.org/apps/deployggb.js"></script>
<script>
  const params = {
    appName: 'graphing',     // graphing | geometry | 3d | classic
    width: 800,
    height: 600,
    material_id: 'RHYH3UQ8'
  }
  const applet = new GGBApplet(params, true)
  window.addEventListener('load', () => applet.inject('ggb-container'))
</script>
提示

国内加载 geogebra.org 资源较慢,建议自托管 deployggb 脚本。

核心 API

setValue(objName, value)

修改对象的值。例如设置滑动条 a 的值为 5:

ggbApplet.setValue('a', 5)

registerObjectUpdateListener

监听对象变化,常用于收集学生操作数据:

ggbApplet.registerObjectUpdateListener('A', () => {
  const x = ggbApplet.getXcoord('A')
  const y = ggbApplet.getYcoord('A')
  console.log('点 A 移动到:', x, y)
})
注意

监听器是异步的,不要在循环里频繁注册,会造成性能问题。

常见问题

练习:做一个记录学生拖动的计时器
中等
  1. 创建一个点 A
  2. 注册 registerObjectUpdateListener
  3. 每次触发时记录时间戳
  4. 提交成功超过 5 次后,在作品中展示提示

试一试,完成后可上传答案文件。

评论 · 0

登录后可发表 · 支持 1-1000 字
加载中…
  • 客服
  • 收藏
  • 赚钱
  • 社群