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)
})注意
监听器是异步的,不要在循环里频繁注册,会造成性能问题。
常见问题
练习:做一个记录学生拖动的计时器
中等- 创建一个点 A
- 注册 registerObjectUpdateListener
- 每次触发时记录时间戳
- 提交成功超过 5 次后,在作品中展示提示
试一试,完成后可上传答案文件。