Skip to main content
Participating Frequently
December 28, 2020
Question

Pinch and Zoom gestures issues on iOS

  • December 28, 2020
  • 1 reply
  • 799 views

Hi,

 

I'm using Captivate 2019, build 11.5.5.676, on a Mac running Catalina. My learning module is not going to be running in a LMS environment, it will just be a page on our site, with a custom backend setup. I'm currently trying to get the Pinch and Zoom function to work on iOS 14. It seems that the only way that I can get it to work on an iPhone, is if I embed the published module index file into an iFrame. If I just use the files that Captivate publishes, with gestures enabled, the pinch and zoom gesture doesn't seem to work. It does nothing. Should this be happening? The other grestures worked without using an iFrame, it was just pinch and zoom that wasn't working. Is this a bug? Surely I shouldn't have to embed the module just to make the gesture feature work correctly.

 

Thanks,

 

Richard

 

 

This topic has been closed for replies.

1 reply

kdmemory
Inspiring
December 28, 2020

Hi Richard,

you're not saying, what kind of project it is.

  • Is it a Responsive project? With Fluid Boxes or Breakpoints?
  • Or is it a Blank Project? Published to Output Format: HTML5? Scalable HTML content? 
  • Or Blank Project published to SWF? Or both HTML5/SWF?
  • Or one of the others: Software Simulation, Video Demo or From PowerPoint?
  • Or a Virtual Reality Project?

In case it is a Responsive project with Fluid Boxes (I guess the most popular project variant right now) then your published index.html file will have this meta tag in it's <head> section:

<meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>

This is self-explanatory. Initial, minimum and maximum scale is always 1 (to 1). One cannot zoom or pinch! You could attempt to change these values in your published index.html - to zoom maybe maximum-scale = 2, to shrink minimum-scale = 0.5. But Captivate in this project variant (responsive/fluid boxes) makes anyway sure that the entire content is displayed on the available viewport without the need to scroll or zoom or similar.

When you wrap the published index.html in an iFrame, practically embed it into a parent HTML document, then this parent document might not contain a meta tag for viewport or it contains one with different values. Depends. Then one can possibly zoom or pinch.

Anyway, please tell us what kind your project is

Klaus

Participating Frequently
December 28, 2020

Hi Klaus,

 

Sorry, I chould have elaborated more. It was late, and I was just about to go to bed.

It's not a responsive project. It's from a blank project, published as html5, with scalable and gestures checked.

When published, the meta tags are: <meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>

I did try stripping out the meta maximum/mimimum scale, and also added in user-scalable=yes, but that didn't seem to work. But if I wrap the published index.html in an iFrame, with the modified meta tags, it does seem to funtion correctly.

 

Richard

kdmemory
Inspiring
December 29, 2020

Hi Richard,

now it's late for me and I'm in the process to go to bed like you did. Thus this will be an incomplete reply.

You are right by adding user-scalable=yes. I forgot that to mention in my first reply.

As I said before Captivate builds the HTML5 document in a way that all content fits into the viewport no matter the size (as far as this is possible). In so far shrinking or zooming is not really necessary. So far I never attempted what you trying to achieve. I'll will have to do some experiments in this lane myself. But not today.

But maybe your way of using an iFrame is just the way to go. The problem is only that after each publish you'll have to integrate the iFrame construction again.

I might come back to this.

Klaus