Hiding Safari User Interface Components on iPhone
Asked Answered
S

13

21

In an attempt to hide the Safari UI components for an web-app bookmarked as a Homescreen Icon. I am using this meta tag

<meta name="apple-mobile-web-app-capable" content="yes" />

as specified on iPhone Dev Center but the address bar and toolbar are still there when launched from the home screen icon. What do I need to do different? Does anyone have an example?

Sterculiaceous answered 7/11, 2008 at 21:19 Comment(0)
R
30
window.top.scrollTo(0, 1);

Works on iPhone, but not in iPad. I have been successful hiding the browser components on iPad (so presumably everywhere) by using

<meta name="apple-mobile-web-app-capable" content="yes" />

and launching from a home-screen link. I am also using

<meta name="viewport" 
        content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

I have not tried seeing if the browser components are still hidden if I leave out the viewport properties.

Ranking answered 20/7, 2010 at 2:29 Comment(4)
The first option is the only thing that worked for me. I added <body onload="window.top.scrollTo(0,1);"> And it worked. All the other options weren't working for me at all.Hexose
same here, scrollTo(0,1) makes the address bar go away, but the meta tags appear to have no impact on it.Brno
An important note on apple-mobile-web-app-capable, if you already have the application bookmarked, delete the bookmark and re-add to enable the change.Midas
Is there any other way, instead of 'launching from a home-screen link' to make it work on iPad?Sundries
I
7

Is it being launched from the home screen? The documentation on the linked page does not mention but I found this @ Configuring Web Applications:

For example, you can specify an icon for your web application used to represent it when added to the Home screen, as described in “Specifying a Webpage Icon for Web Clip.” You can also minimize the Safari on iPhone user interface, as described in “Changing the Status Bar Appearance” and “Hiding Safari User Interface Components,” when your web application is launched from the Home screen. These are all optional settings that when added to your web content are ignored by other platforms

Irrelievable answered 7/11, 2008 at 21:27 Comment(2)
Here's the updated link: developer.apple.com/library/safari/#documentation/…Newhouse
Spot on crashmstr. The meta tags only work... WHEN THE APP IS LAUNCHED FROM THE HOME SCREEN.Dwightdwindle
S
6

Have you tried adding...

<meta name="apple-touch-fullscreen" content="yes" />
Selfmastery answered 4/1, 2010 at 21:58 Comment(2)
this is undocumented. probably not used in stable releases of Mobile Safari.Pandurate
Indeed, cannot find a reference for this anymore (wrote in 2010). Looks like only <meta name="apple-mobile-web-app-capable" content="yes" /> is advised today (see here)Selfmastery
G
3

From what I can tell, iOS only pays attention to the flags when you actually add the app. If the apple-mobile-web-app-capable thingy doesn't work at first, try deleting your app from the home screen then re-adding it.

I've run some experiments and found:

  • the location of the meta tag within the headers doesn't seem to matter (I thought it might!)
  • after adding the app and having it remove the address bar correctly, if you then remove the meta tags from the web page, iOS continues to remove the toolbar.
  • even after rebooting the device it still 'remembers' whether to remove the toolbar. The only way I've found of resetting this behaviour is to remove and re-add the app.

Hope that helps!

Gelid answered 19/10, 2011 at 22:27 Comment(0)
I
2

I know this is pretty old, but I came across this while searching for a solution. I was able to fix this by also adding:

window.top.scrollTo(0, 1);

to the body's onload method. Hope it helps anyone else coming across this.

Intertwine answered 15/6, 2010 at 23:25 Comment(0)
D
2

There is a new directive, called "minimal-ui" that iOS browser takes into account (at least on the iPhone where I tested). Toolbars are hidden until the user clicks on the status bar on top. Very nice for one page apps!

Here is the snippet I use:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">

Denis answered 16/5, 2014 at 22:7 Comment(0)
C
1

Try this

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width; user-scalable=0;">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon" href="icon.png">
Cordiecordier answered 30/8, 2012 at 8:58 Comment(0)
M
1

Since iOS 7.1, you can use minimal-ui

<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
Myron answered 20/3, 2014 at 21:59 Comment(0)
H
0

That should indeed behave as expected, I have used it in the past without any difficulties.

Haphazard answered 8/11, 2008 at 16:30 Comment(0)
M
0
<meta name="apple-mobile-web-app-capable" content="yes" />

This will work if:

  1. The tag exists when the app is added to the home screen.
  2. The app is launched from the home screen.
Meandrous answered 12/9, 2012 at 16:47 Comment(0)
C
0
<meta name="apple-mobile-web-app-capable" content="yes" />

works on iOS6 + Mobile Safari Browser but ONLY if you added the page to your homescreen AFTER you included the meta tag on your site.

Crocodile answered 7/3, 2013 at 12:20 Comment(0)
S
0

all above meta tags and window.scrollTo, did not work on ipad for me, i found a button on safari next to bookmarks where you get an option called 'Add to Home Screen' it creates a new tile icon, and you can launch your web app like a native app, and no address bar there.

Sweatt answered 30/4, 2013 at 7:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.