Force Zooming in Mobile Safari

post

Have you ever run across a web page you could not zoom in the iOS web browser? I have encountered several web sites that prevent the user from zooming on the page with iOS. When I browse these web sites on my iPad, I’m unable to double-tap to zoom in and out and sometimes I can’t use a two-finger spread/pinch gesture to zoom. This is something I do often to read web pages more comfortably on my iPad or my iPod touch, and it’s quite irritating when the web site blocks me from zooming this way.

I have found several workarounds for this annoyance, which I’ll explain here, but if you want the best solution, skip down to the last one.

Good:  “Reader” mode in mobile Safari

You may have noticed the small “Reader” button appearing in the address bar of mobile Safari after the page you are viewing is fully loaded. Pressing this button opens a pop-up window showing the main content of the page in a reader-friendly format with larger fonts, and stripped of extraneous elements. Not exactly the same as zooming, but it often solves the problem of not being able to read comfortably.

Reader Mode in safari

Better: “Enable Zoom” Bookmarklet

Bookmarklets are little snippets of JavaScript code that are run from a browser bookmark. With bookmarklets you can have a browser shortcut to do things like share on Facebook or Twitter, blog about the page you are reading, translate to another language, and so on. Enabling zoom function on a web page is another things you can do with a bookmarklet.

But here is the catch… Most bookmarklets are added to a desktop browser by dragging the link to your browsers address bar, but there is no way to do this on a touch device like an iPad or iPhone. So you need a workaround. To add a bookmarklet on mobile Safari, you first need to create a regular bookmark and save it. This bookmark can be anything, so just create it for the page you are on. Then you copy the snippet of JavaScript code and edit the bookmark you just created. Make the bookmark name anything you like (I suggest “Enable Zoom” for this one) and then paste the snippet of code into the address section of the bookmark, and save your changes.

Here is the snippet of code you will paste into the address for the “Enable Zoom” bookmarklet:

javascript:document.querySelector('meta[name=viewport]').setAttribute('content','width=device-width,initial-scale=1.0,maximum-scale=10.0,user-scalable=1');

Creating a Bookmarklet to Enable Zoom

I suggest moving this bookmarklet to the Bookmarks Bar in mobile Safari if you choose to use it.

[via Ask Different: How can I force pinch-to-zoom on some websites?]

Best: Enable Zoom in iOS Accessibility Settings

When you read this solution, you will have no need for the first two. I can’t think of any disadvantages to going this route. iOS has a zoom option under Settings > General > Accessibility. When enabled, it allows you to zoom in and out by double-tapping with three fingers. This works anywhere, not just mobile Safari, so you can use it to enlarge portions of the screen within other apps. However, one great side effect of this setting is that it forces mobile Safari to ignore the web page code that prevents zooming! 

Enable Zoom in Accessibility Options

Now, whether you use the three-finger zoom shortcut or not, you will no longer be blocked from zooming in and out on web pages in the normal way.

[via Roger Johansson: The iOS Zoom setting disables maximum-scale=1 and user-scalable=no]

I hope you find this tip as useful as I have!

Shortlink:

Categories: iOS

About Sue


10 Responses to “Force Zooming in Mobile Safari”

Read below or add a comment...

  1. Russ says:

    I hate the zoom-blocking sites! Bastards. Thanks for the advice!

  2. Dave says:

    Thanks for this! I think the JavaScript bookmarklet is the best solution for iPhone. The built in zoom (three finger tapping) is awkward to use and downright impossible to use with one hand. I prefer the pinch and zoom method. The bookmarklet worked great for me.

  3. Justin says:

    FYI, the “best” option of enabling the Zoom accessibility feature did not work for me in iOS 6.0.1. The page I was having the zoom problem with still refused to zoom, even after reloading the page in a new tab. The bookmarklet worked perfectly though, so thanks for that!

  4. Collin says:

    Like the other reader comment, I found the java snippet trick to work perfectly for me! Also, as mentioned by the commenter, on iOS 6.x, enabling “Zoom” in the Accessibilty Settings produced some very odd results (like Zooming my entire Home Screen) and using three fingers was awkward. I wonder what the point is for websites that, as I’ve learned, prevent the normal double-tap or reverse pinch to zoom in anyway? Probably advertising related.
    Thanks a lot for posting this awesome tip! By the way, great site all around, very nice…

  5. DJ says:

    I just downloaded the Mercury browser for the ipad. It’s got a setting (confusingly labelled “user agent”) where the browser pretends to be a normal desktop browser and then all websites you go to will allow the pinch to zoom feature.

  6. Happyagain says:

    Thank you for the zoom workaround, much appreciated.

  7. paula says:

    sorry, does work after reload of page

    • Sue says:

      Glad to hear you got it working. All these methods seem to be somewhat less reliable since iOS 7 came out. Sometimes they work for me and sometimes not. The page you mentioned loaded a mobile version of the site when I checked it on my iPad, and usually when I site has a specific mobile layout, you can’t zoom it anyway.

Shoot the Breeze: Add a comment...