jsPsych 开源项目教程
1. 项目介绍
jsPsych 是一个用 JavaScript 构建的框架,用于在浏览器环境中创建行为实验。它允许研究者设计并运行各种心理和认知实验,通过集成不同插件实现数据收集和交互界面。这个项目遵循 MIT 许可证,并且拥有一支由 Josh de Leeuw (@jodeleeuw), Becky Gilbert (@becky-gilbert) 和 Björn Luchterhandt (@bjoluc) 管理的核心团队。
该项目的学术引用应指向以下两篇论文:
- de Leeuw J R, Gilbert R A, & Luchterhandt B. (2023). jsPsych: Enabling an open-source collaborative ecosystem of behavioral experiments. Journal of Open Source Software, 8(85), 5351. 🔗
- de Leeuw J R. (2015). jsPsych: A JavaScript library for creating behavioral experiments in a Web browser. Behavior Research Methods, 47(1), 1-12. 🔗
2. 项目快速启动
安装 jsPsych
为了开始使用 jsPsych,你需要先将其添加到你的 HTML 文件中。一种简单的方法是通过 CDN(内容分发网络)链接引入库:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的 jsPsych 实验</title>
<script src="https://cdn.jsdelivr.net/npm/@jspsych/core@latest"></script>
<!-- 引入其他所需的插件 -->
</head>
<body>
<div id="jspsych-target"></div>
<script>
// 在这里编写你的 jsPsych 实验代码
</script>
</body>
</html>
创建基本实验
下面是一个简单的例子,展示了如何展示一条文本刺激并记录按键响应:
const trial = {
type: 'single-stim',
stimulus: '你好,世界!',
timing_stim: 2000, // 刺激显示时间(毫秒)
timing_response: Infinity, // 响应窗口持续时间,设为无限大
on_finish: function(data) {
console.log('Response:', data.key_press);
}
};
jsPsych.init({
timeline: [trial],
on_finish: function() {
jsPsych.data.displayData();
},
target: '#jspsych-target'
});
3. 应用案例和最佳实践
为了更好地了解 jsPsych 的能力,可以查看 /examples
目录中的示例实验。这些例子提供了多种任务类型,如呈现图片、播放音频、进行问卷调查等。你可以双击 HTML 文件以在浏览器中运行它们,并打开源代码以学习实现细节。
最佳实践包括:详细规划实验流程、合理利用插件功能、适当地处理数据以及定期更新到最新版本。
4. 典型生态项目
jsPsych 社区发展了丰富的插件生态系统,包括但不限于:
plugin-image-keyboard-response
: 显示图像并记录键盘响应。plugin-instructions
: 展示实验说明页面。plugin-choice-reaction-time
: 进行选择反应时任务。plugin-webgazer-calibration
: 配合 WebGazer 扩展进行眼动追踪校准。
此外,一些开发者还基于 jsPsych 构建了自定义的解决方案和应用程序,进一步扩展其功能。
要获取更多信息和支持,请访问官方文档:https://www.jspsych.org 并参与 GitHub 讨论论坛。如果你使用了 jsPsych,请记得在出版物中正确引用它,以支持项目的持续开发。