If it is Chrome problem [I haven't tested in other browsers], it may or may not be affecting other browsers, but I suspect other browsers will eventually do similar things given the topics discussed here: https://goo.gl/rStTGz
It seems not to be a Qualtrics problem, but again, I can't tell.
Here's [an abbreviated version of] what I get from the console, I believe the DOMException is the symptom, and the messages above are likely the problem:
[Deprecation] The deviceorientation event is deprecated on insecure origins, and support will be removed in the future. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
The deviceorientation events are blocked by feature policy. See https://github.com/WICG/feature-policy/blob/gh-pages/features.md#sensor-features
s.resolve.s.fulfill
DOMException: Blocked a frame with origin "https://delaware.ca1.qualtrics.com" from accessing a cross-origin frame.
at S.r.<anonymous> (https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06de6252174cbd5c9.js:1:71906)
at S.r.i [as postEOSActions] (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:207704)
at S.r.postEOSActions (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:227253)
at S.r.<anonymous> (https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06de6252174cbd5c9.js:1:69745)
at https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:227253
at r (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:68822)
at n._callHandler (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:35955)
at n._settlePromiseFromHandler (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:36124)
at n._settlePromiseAt (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:38444)
at n._settlePromises (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:40669) "https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06de6252174cbd5c9.js:1:71976"
Before I go fishing for how to deal with this, does anyone know whether this is going to be implemented in other browsers in the future? It seems solvable, but I'm not an internet security expert, so if anyone has suggestions, I'm all ears.
If I solve the problem I'll repost.
-Rick
Hey all,
Just raising a small issue here. I have a hybrid experiment, where two blocks of tasks are completed using psiTurk and a third block is done via Qualtrics. I'm currently just testing functionality, and most of Dave's original version works. That is, the survey loads successfully in an iFrame in my experiment, and I can navigate through it, but either Qualtrics or Chrome is not allowing message passing. So once the Qualtrics "finished" screen is reached, my next button (same syntax as Dave's below) doesn't appear, and an exception is thrown in the console (see below). I can confirm from the page source that Qualtrics takes in embedded data, as it passed "debug" to Qualtrics. It seems to be an issue with the message getting passed back to window.top.
If it is Chrome problem [I haven't tested in other browsers], it may or may not be affecting other browsers, but I suspect other browsers will eventually do similar things given the topics discussed here: https://goo.gl/rStTGz
It seems not to be a Qualtrics problem, but again, I can't tell.
Here's [an abbreviated version of] what I get from the console, I believe the DOMException is the symptom, and the messages above are likely the problem:
[Deprecation] The deviceorientation event is deprecated on insecure origins, and support will be removed in the future. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
The deviceorientation events are blocked by feature policy. See https://github.com/WICG/feature-policy/blob/gh-pages/features.md#sensor-features
s.resolve.s.fulfill
DOMException: Blocked a frame with origin "https://delaware.ca1.qualtrics.com" from accessing a cross-origin frame.
at S.r.<anonymous> (https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06Ide6252174cbd5c9.js:1:71906)
at S.r.i [as postEOSActions] (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:207704)
at S.r.postEOSActions (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:227253)
at S.r.<anonymous> (https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06de6252174cbd5c9.js:1:69745)
at https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:227253
at r (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:68822)
at n._callHandler (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:35955)
at n._settlePromiseFromHandler (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:36124)
at n._settlePromiseAt (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:38444)
at n._settlePromises (https://jfe-cdn.qualtrics.com/jfe/static/dist/vendor.4aac5340ddac8f994b7b.js:1:40669) "https://jfe-cdn.qualtrics.com/jfe/static/dist/jfe.23b06de6252174cbd5c9.js:1:71976"
Before I go fishing for how to deal with this, does anyone know whether this is going to be implemented in other browsers in the future? It seems solvable, but I'm not an internet security expert, so if anyone has suggestions, I'm all ears.
If I solve the problem I'll repost.
-Rick
--
You received this message because you are subscribed to the Google Groups "PsiTurk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psiturk+u...@googlegroups.com.
To post to this group, send email to psi...@googlegroups.com.
Visit this group at https://groups.google.com/group/psiturk.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to a topic in the Google Groups "PsiTurk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/psiturk/2xJ3Uc8feZk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to psiturk+u...@googlegroups.com.
Thanks a lot for writing this thread. I'm currently trying to link my Qualtrics survey to my Psiturk experiment using the iFrame solution outlined here. However, I get the following error message in the console:
"Permission denied to access property \"qualtricsEndOfSurvey\" on cross-origin object"
Googling around a bit tells me that this is because my browser doesn't allow cross-site scripting. Is that right? Do you know of a way around this issue particularly when using Psiturk and Qualtrics?
Thanks a lot!
Best,
Jeroen
window.addEventListener('message
', function(event){
console.log(event.data);
if (event.data) {
if (typeof event.data === '
string
') {
q_message_array = event.data.split('
|
');
if (q_message_array[0] == '
QualtricsEOS
') {
psiTurk.recordTrialData({'
phase
':'
postquestionnaire
', '
status
':'
back_from_qualtrics
'});
psiTurk.recordUnstructuredData('
qualtrics_session_id
', q_message_array[2]);
}
}
}
})
window.addEventListener('
message
', function(event){
console.log(event.data);
psiTurk.recordTrialData({'
phase
':"postquestionnaire", '
QualtricsMessage1
':event.data});
psiTurk.recordTrialData({'
phase
':"postquestionnaire", '
QualtricsMessage2
':event.data});
psiTurk.saveData();
})