Qualtrics.SurveyEngine.addOnload在Qualtrics调查软件中以预览模式运行两次

时间:2015-03-20 05:27:14

标签: qualtrics

每当我尝试在预览模式下测试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秒后的页面更改。如果我预览调查,也会发生这种变化,然后进行第二次更改。警报也会显示两次。

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

3 个答案:

答案 0 :(得分:3)

我也遇到过JFE的Survey Preview问题。有很多方法可以绕过JFE模式并在非JFE模式下进行预览。

如果仅关注一个特定的问题集并且不关心调查流程,最简单的解决方案是使用View Block。它不使用JFE。转到Block下拉列表并选择View Block。

如果您需要预览整个调查,有一些技巧可以突破' JFE并强制它进入非JFE模式。 Qualtrics进行更改时,这些技巧似乎是一个不断变化的目标。我发现今天在我的Qualtrics帐户上工作的最好的(最简单的)(通知所有限定符)是将调查对象的末尾添加到调查流程中,单击自定义,然后检查&#34 ;覆盖调查选项"框。

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

答案 1 :(得分:2)

Qualtrics将jQuery链接到当前的写作(尽管简写$是为prototype.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
});

希望这是有帮助的

答案 2 :(得分:2)

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

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

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