Browser compatibility issues with Pavlovia experiment

Hi everyone,

I’m finalizing my Pavlovia image recognition experiment and have encountered an unexpected issue I’d like to get your input on.

During tablet testing (the intended platform for this task) on an iPad, I’ve noticed inconsistent stimulus loading parallelization across browsers:

  • Chrome: Works perfectly
  • Firefox: Script error occurs
  • Safari: Loading bugs present

Any suggestions or troubleshooting tips?

PS: With my experiment now complete, I believe it could serve as a useful tutorial for creating SCED studies. If there’s an appropriate repository or platform to share it, I’d be happy to contribute.

Thanks in advance.

Please could you be more specific with the script errors and loading bugs?

To share your code you could add a post to:

Is the repository public?

It should also be findable from Pavlovia

For Firefox: here’s the error I’m getting.

For other browsers: I run into a different error, which happens often ( 1 on 4-5 I think) and affects my image components.

At first, I thought it might be related to variable names, but I don’t see this issue on computer.

Another issue is that I can’t find a tool that lets me display a console with errors on the tablet — that would really help me debug the experiment.

As for my repository: I think it’s private, but I can post a public copy if needed.

What format are your images in?

My image are in png format

I did some test this morning with an android tablet and everything works well. I have a display problem on Firefox but no crash.

I thin I solve the issue. I have a routine in a loop where I load my stimulus before the trial. I add this check before and I had time to my loading session

Begin routine

psychoJS._serverManager.prepareResources([
  { name: Elem1, path: Elem1 },
  { name: Elem2, path: Elem2 },
  { name: Elem3, path: Elem3 },
  { name: Elem4, path: Elem4 },
  { name: audio, path: audio },
]);

Each frame

if ((typeof psychoJS.serverManager.getResource(Elem2) !== "undefined") && (typeof psychoJS.serverManager.getResource(Elem1) != "undefined") && (typeof psychoJS.serverManager.getResource(Elem3) != "undefined") && (typeof psychoJS.serverManager.getResource(Elem4) != "undefined") && (typeof psychoJS.serverManager.getResource(audio) != "undefined")){
continueRoutine = false; // Move to the next routine
}

and now the routines end only when all the ressource are loaded and I don’t have this error anymore.

So the issue was that some browsers or devices are slower than others?

I am testing but I think it was this. What I see it’s there are a lot of variability in the same experiment and the apple device are slower than the android ( maybe the model of the tablet).

1 Like