moodle - Moodle 中的 JSXGraph:是否可以将 JavaScript 代码与标签?
问题描述
假设一个人想将多个相互依赖的 JSXGraph 板添加到 Moodle 页面,但由于某种原因,它们不应该都在同一个标签中。在以下示例中,两个板放置在不同的表格单元格中:
<table>
<tr>
<th><jsxgraph width="600" height="500" box="jxgbox0"></jsxgraph></th>
<th><jsxgraph width="500" height="500" box="jxgbox1">
... all JXG code here...
</jsxgraph></th>
</tr>
</table>
在上面的示例中,JXG 代码位于第二个 JSXGraph 标记中有点奇怪,但它可以工作。
我想要将代码与任一板分开并将其放置在表格下方的某个标签中,例如:
<table>
<tr>
<th><jsxgraph width="600" height="500" box="jxgbox0"></jsxgraph></th>
<th><jsxgraph width="500" height="500" box="jxgbox1"></jsxgraph></th>
</tr>
</table>
<script type="text/javascript">
... all JXG code here...
</script>
问题是这不起作用。将代码放在第三个<jsxgraph>
标签中实际上是在填充两个初始板的意义上起作用,但是创建了第三个(空)板。
我现在的问题是:是否可以将 JavaScript 代码与<jsxgraph>
要在页面上创建和填充的所有标签分开?
解决方案
有一个为 jsxgraph 提供的 Moodle 插件
https://moodle.org/plugins/filter_jsxgraph
在 Moodle 中,过滤器基本上是在输出之前转换特殊内容。
我自己没有使用过 jsxgraph 过滤器,但这里有一个例子
https://github.com/jsxgraph/moodle-filter_jsxgraph/blob/master/README.md
<jsxgraph width="500" aspect-ratio="1/1">
var brd = JXG.JSXGraph.initBoard(BOARDID, {boundingbox:[-5,5,5,-5], axis:true});
var p = brd.create('point', [1,2]);
</jsxgraph>
如果您已经安装了过滤器,那么可能是因为box="jxgbox0"
您的示例中的属性已被弃用。
boardid 或 box 已弃用
该属性定义了 JSXGraph 的图将具有哪个 id。请使用存储在 JavaScript 块中的常量 BOARDID 中的 id,尤其是对于 JXG.JSXGraph.initBoard(...) 中的第一个参数。查看用法中的示例。
推荐阅读
- docker - 无法通过浏览器访问已部署的 docker 服务
- mysql - 在mysql中使用关系时如何获取行数
- html - 为什么表单动作空返回上一页?
- typescript - 在带有 TypeScript 的 WebStorm 中,如何在 TS 错误时进行调试?
- android - flutter gradle 异常退出(firebase 身份验证)
- java - ClassNotFoundException 仅在我的设备上安装 APK 后
- python - 操作系统错误:未找到“.txt”
- mysql - 搜索替换字符(无 TSQL)
- r - 根据条件删除选定列表
- azure-logic-apps - Azure 逻辑应用批量重启失败的运行