Qualtrics,Javascript精确计时器使用时间花费在一个页面上
Qualtrics & Javascript Precise Timer Using Time Spend on a Page
我正在做一个使用质量的实验研究,不幸的是我对编码完全陌生。在我的实验中,一组问题应该在一段时间后结束(在这个例子中是50秒)。到目前为止,我一直在使用一个解决方案(我在这里发现:https://research-it.wharton.upenn.edu/uncategorized/qualtrics-loop-merge-tips/),它看起来相当整洁,使用一个空白嵌入变量"test_time",显示逻辑和以下javascript代码,我复制到块的每个页面:
Qualtrics.SurveyEngine.addOnload(function()
{
var elapsed = Date.now() - Number("${e://Field/test_time}");
if (elapsed >= 50000){
Qualtrics.SurveyEngine.setEmbeddedData("test_time", 0);
}
});
然而,在导出的数据中,当总结我所包含的计时问题的信息时,我发现人们实际可以花在区块问题上的时间变化很大(从30秒到近50秒)。我猜这是由于脚本使用时钟的时间,而不管网络连接不良或浏览器速度慢造成的延迟。
然而,对于我的项目来说,重要的是人们实际上有相同的时间来完成任务。我怀疑我可以使用计时问题的信息,但不知何故我无法在Javascript中访问它们。另一个想法是记录出现的页面和点击下一个按钮之间的差异。
我感谢你的任何想法和投入!使用内置的内嵌变量Q_TotalDuration,它是以秒为单位的经过的调查时间。将调查流程中区块的开始时间设置在区块之前:
startBlock = ${e://Field/Q_TotalDuration}
然后你的JavaScript变成:
var elapsed = parseInt("${e://Field/Q_TotalDuration}") - parseInt("${e://Field/startBlock}");
if(elapsed >= 50) {
//do something here
}
我不明白当达到时间限制并且time_test在原始代码中设置为零时会发生什么。它不会对当前页面产生任何影响。似乎您应该设置一个超时函数,以便在达到时间阈值时单击Next按钮。
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 有没有一个javascript图形绘制库可以进行气球树布局
- 如何将一个JavaScript函数回调为多个函数
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 多次调用另一个javascript函数中的javascript函数
- HTML外部javascript加载另一个javascript
- 在一个javascript文件中为整个网站创建标签
- 在任何AJAX调用之前触发一个javascript函数
- 如何用另一个Javascript更改Javascript函数值
- 动态创建一个javascript/jquery多级数组
- 将变量值从一个javascript传递到另一个javascript
- 获取一个javascript对象attr's
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- 添加一个javascript函数来下载elfinder上的事件
- 有没有一个Javascript代码可以看到你的缓存有多满
- 使用jenkins从不同文件夹中的文件构建一个javascript文件
- 是否有一个javascript库来解析简单的查询
- 一个javascript实现base64图像编码并将结果写入文本文件
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器