作爲我們研究的一部分,我們從使用Qualtrics的參與者收集調查。 Qualtrics有一個簡潔的小功能,您可以在一個問題中嵌入一些Javascript代碼。我們有一項研究,需要計算從完成第一次調查的時間與完成當前調查的天數之間的差異,但計算似乎在移動設備上運行不一致。該代碼現在看起來是這樣的:Qualtrics Javascript在移動設備上運行不一致
Qualtrics.SurveyEngine.addOnload(function()
{
var surv1date=new Date("${e://Field/day1date}");
surv1date.setHours(0);
surv1date.setMinutes(0);
surv1date.setSeconds(0);
surv1date.setMilliseconds(0);
var one_day=86400000;
var difference = Math.abs(todayDate.getTime() - surv1date.getTime())/one_day + 1;
Math.round(difference);
var intCount = 1;
var daydiff = null;
do {
//$('daydiff').value = Math.round(difference);
Qualtrics.SurveyEngine.setEmbeddedData('daydiff', Math.round(difference));
daydiff = Math.round(difference);
intCount++;
}
while (intCount <= 10 && (daydiff == undefined || daydiff == null || daydiff == NaN || isNaN(daydiff) == true));
var strday = "on Day ";
var strfinal = strday.concat(daydiff);
var newQuestionText = questionText.replace("on Day", strfinal);
$(this.questionContainer).down('.QuestionText').innerHTML = newQuestionText;
});
;
在移動設備上,它有時會出現這個代碼不正確地運行,並且不計算daydiff,但有時它工作正常。它會有一天工作,而不是相同的手機,相同的瀏覽器,相同的一切。我把它設置成循環通過10天的daydiff計算,認爲這可能會有所作爲。我們在iOS和Android設備上都看到了這個問題,但從未在桌面設備上看到過這個問題。 Javascript已在這些設備上啓用。有任何想法嗎?