2

每当我尝试在预览模式下测试 Qualtrics 调查时,Qualtrics.SurveyEngine.addOnload 将被调用两次。这对于条件事件来说不是问题(就像在大多数示例中一样),但对于无条件代码来说是一个大问题,即定时页面更改(这也将被触发两次)。请参阅以下代码段:

Qualtrics.SurveyEngine.addOnload(function()
{
     $('NextButton') && $('NextButton').hide();
     var that = this;
     var timeOutInterval=1000+Math.trunc(Math.random()*10000);
     alert(timeOutInterval); //for Testing only
     var myVar;
     myVar = setTimeout(function(){ that.clickNextButton();}, timeOutInterval);
});

如果我启动调查,这将导致 1-11 秒后页面更改。如果我预览调查,这种变化也会发生,然后是第二次变化。警报也会显示两次。

有没有人有解决方案,如何在预览模式下测试此功能?

4

3 回答 3

3

我也遇到了 JFE 的调查预览问题。有一些方法可以绕过 JFE 模式并在非 JFE 模式下预览。

如果只关心块中的一组特定问题而不关心调查流程,最简单的解决方案是使用 View Block。它不使用 JFE。转到块下拉菜单并选择查看块。

如果您需要预览整个调查,有一些技巧可以“破坏”JFE 并强制它进入非 JFE 模式。随着 Qualtrics 做出改变,这些技巧似乎是一个移动的目标。我发现今天在我的 Qualtrics 帐户上为我工作的最好的(最简单的)是在调查流程中添加调查对象的结尾,单击自定义,然后选中“覆盖调查选项”盒子。

如果这不起作用,我发现一旦调查超过一定规模,它就不再使用 JFE 模式。我不知道限制是什么,但如果你在调查结束后添加一堆假问题,你也可以这样欺骗它。

于 2015-03-20T16:24:36.640 回答
2

看来 Qualtrics 现在也默认使用 JFE 模式进行实时调查。我们已经能够通过将查询字符串 &Q_JFE=0 添加到调查 URL 的末尾来解决此问题,如下所示:

https://uleidenss.eu.qualtrics.com/SE/?SID=SV_123432434343&Q_JFE=0

这具有解决我们的 JFE 模式问题的额外好处,打破了我们长期运行的几个 Qualtrics JQuery 实验。

于 2015-11-12T17:53:54.120 回答
2

Qualtrics 在当前写作时链接 jQuery(尽管简写 $ 是为原型.js 库保留的)。

以下应该在移动预览中跳过 addOnload javascript 的执行:

Qualtrics.SurveyEngine.addOnload(function()
{
    if(jQuery(this.questionContainer).parents('.MobilePreviewFrame').length)
    {
        console.log('Mobile Preview - skipping rest of addOnload');
        return true;
    };
    console.log("Running addOnload()");

   // The rest of your code. Log statements can obviously be removed
});

希望这会有所帮助

于 2015-10-02T15:48:33.050 回答