每当我尝试在预览模式下测试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秒后的页面更改。如果我预览调查,也会发生这种变化,然后进行第二次更改。警报也会显示两次。
有没有人有解决方案,如何在预览模式下测试此功能?
答案 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实验的几个问题,这有另外的好处。